Aus welchem Grund hast du das nicht erwartet?
Problem mit __set()
Einklappen
X
-
-
Der direkte Zugriff auf die Eigenschaft ist verboten. Darum geht PHP über __get(). Dein __get ist public. Da __get in der Klasse definiert wurde ist dem __get der Zugriff auf protected und private Eigenschaften natürlich gestattet.
Mich wundert da dran überhautp nix !!
Kommentar
-
Zitat von combie Beitrag anzeigenDer direkte Zugriff auf die Eigenschaft ist verboten. Darum geht PHP über __get(). Dein __get ist public. Da __get in der Klasse definiert wurde ist dem __get der Zugriff auf protected und private Eigenschaften natürlich gestattet.
Mich wundert da dran überhautp nix !!
__get ist public spielt übrigends keine rolle ob das nun public oder private deklariert wurde das ergbenis bleibt das selbe<?php echo "ad astra"; ?>
www.utopiafuture.de
Kommentar
-
Ja, das stimmt!
PHP-Code:class Test
{
private function __get($argument)
{
return 42;
}
}
$t = new Test;
echo $t->bla;
Das hätte ich eigentlich erwartet.
Kommentar
-
In PHP5.3 schon, da kommt bei mir:
Warning: The magic method __get() must have public visibility and cannot be static in ...[COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
[/COLOR]
Kommentar
Kommentar