Variabelen aan constructor
Het probleem
Bij functions kun je variabelen meegeven, bijv:
Maar nu wil ik zo'n variabele aan de constructor meegeven. Hoe kun je zoiets dan aanroepen in de php?(zoals in dit voorbeeld bij hello world)
Bedachte oplossingen
Ik had 2 oplossingen bedacht:
Code (php)
Dit werkt helaas niet. Nu dacht ik, ik roep de variabele eerst bij de class op en dan laad ik hem als public:
Code (php)
Helaas werkt dit ook niet.
De vraag
Is er hier een oplossing voor? Of kan dit gewoon niet?
Code (php)
Gewijzigd op 06/12/2010 16:52:23 door Ozzie PHP
Niet doen dus.
Met gelijk welke andere functie (jaja, er zijn wel nog uitzonderingen) mag je dat wel doen.
Kris, ondanks dat het niet altijd netjes is, kun je best de constructor gebruiken om gelijk iets terug te krijgen. Ik ben het met je eens dat het netter is om daar een aparte functie voor te gebruiken, maar dat betekend niet dat het niet kan ;-)
Chris Horeweg op 07/12/2010 10:41:14:
Kris, ondanks dat het niet altijd netjes is, kun je best de constructor gebruiken om gelijk iets terug te krijgen. Ik ben het met je eens dat het netter is om daar een aparte functie voor te gebruiken, maar dat betekend niet dat het niet kan ;-)
Probeer maar eens, maar je return-statement in de constructor wordt gewoon genegeerd. Als je new Ding gebruikt, krijg je altijd een instantie van Ding, wat er ook in de constructor staat. (tenzij je natuurlijk een exception gooit of die() aanroept ofzo)
In de meeste talen die ik ken, mag je bij een constructor geen return geven.
Ik heb er nooit aan gedacht om in een php constructor een return terug te geven. Ik zou niet weten waarom en hoe te gebruiken.
Quote:
Catchable fatal error: Object of class Test could not be converted to string in C:\wamp\www\overig\test.class.php on line 10
@Kris: Simpel testje:
Code (php)
Edit:
Ik doe het zelf nooit zo, vandaar dat ik me er niet eens van was bewust dat dit niet kon..
Gewijzigd op 07/12/2010 10:59:45 door Chris -
highlight_file(__FILE__);
Kende ik niet.