E 'possibile per $ questo restituire una __costruzione?

-3

Attualmente sto lavorando sulle mie competenze PHP e al momento sto lavorando con le classi. Quello che voglio fare è creare una classe per la quale posso echeggiare l'oggetto. Ho il seguente esempio:

    class good_stuff {
        public function __construct() {
            return "This is a function called by a construct from a class called: " .__CLASS__;
        }
        public function __toString() {
            return $this->self::__construct;
        }
    }

    $my_object = new good_stuff();
    echo $my_object;

Immagino che il mio __toString stia restituendo un valore errato, ma vorrei conoscere alcuni dettagli come $ questo non sembra documentato correttamente. È l'unica soluzione possibile a questo problema per definire una proprietà all'interno di good_stuff e quindi assegnarla e restituirla tramite __toString?

Quello che voglio sapere sono più informazioni e una breve spiegazione di come $ funziona e cosa mi manca da un punto di vista teorico.

    
posta Alex Luigi 05.04.2016 - 12:53
fonte

1 risposta

2

Il problema non è $this (che è documentato bene).

Il problema è che stai tentando di invocare manualmente un costruttore (non farlo) e di restituire un valore da un costruttore (che senso ha questo?) e di dimenticare () che accompagna una chiamata di funzione, mentre così facendo.

Non so perché stai cercando di trovare una soluzione così complicata. È sufficiente restituire una stringa dalla funzione toString() . Invocare un'altra funzione a sua volta se lo si desidera. Ma non il costruttore della classe. Questo non è quello che serve.

Se la stringa da restituire da toString() deve essere generata dal costruttore, fare in modo che il costruttore la memorizzi come proprietà .

    
risposta data 05.04.2016 - 13:22
fonte

Leggi altre domande sui tag