Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Proprietà fantasma e costruttore a sorpresa

    Salve.
    Sto provando alcuni codici per capire come funzionano gli oggetti in php.
    Ma ho notato qualcosa di strano.
    Praticamente quando eseguo questo codice qui sotto, se dichiaro oppure no la proprietà public $idKey = false; lo esegue senza errori, come se si accorgesse dove andare a mettere i valori dell'istanza. Poi non capisco perchè mi stampa il metodo costruttore solo instanziandolo.
    codice:
    class MyClass {
            public static $instances = 0;
            public $idKey = false; // provare ad omettere
            // costruttore
            public function __construct() {
                    $this->idKey = ++self::$instances;
                    echo "This is the #" . $this->idKey . 
    				" instance of the class MyClass. Instances created: " . $this->idKey;
            }
            // distruttore
            public function __destruct() {
                    echo "
    Instance #" . $this->idKey . " deleted.";
            }
     }
     // stampa "This is the #1 instance of the class MyClass. Instances created: 1"
    $myClass_1 = new MyClass();
    Qualcuno sa darmi una spiegazione?
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    non ho capito $idKey... se ometti la dichiarazione non ci sono errori, dici? Hai attiva la visualizzazione completa, comunque? Può dipendere dalla versione del php.. quale hai? Probabilmente ci sono dei warning che non visualizzi.

    Quanto al costruttore non ho capito l'osservazione... quando dovrebbe essere richiamato secondo te? Come si sa ed è ben spiegato anche nel manuale
    Classes which have a constructor method call this method on each newly-created object

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Come versione php ho la 5.3.5

    Quanto al costruttore non ho capito l'osservazione... quando dovrebbe essere richiamato secondo te? Come si sa ed è ben spiegato anche nel manuale
    Quindi ogni volta che istanzio viene eseguito il costruttore, se è presente.
    Quindi se ha dei parametri li vuole, altrimenti se non ha parametri ed al suo interno ha delle operazioni li esegue sempre nel momento dell'istanziazione. Giusto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    se ho ben inteso... sì

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.