phpbar.de logo

Mailinglisten-Archive

[php] Constructor statisch aufrufen (PHP 5.2.x)

[php] Constructor statisch aufrufen (PHP 5.2.x)

Yannik Hampe yannik at cipher-code.de
Don Feb 19 05:57:22 CET 2009



Mario Batz wrote:
> Hallo,
> 
> ich hab hier alte Skripte (für PHP 4.x) die auf PHP 5.2.x laufen
> sollen. In den Skripten sind statische Aufrufe von Constructoren die
> einen Wert liefern. Z.B.: $wert = myClass::myClass('blabla');
> 
> Wenn ich dieses Skript auf Windows mit PHP 5.2.x laufen lasse (Server
> läuft leider unter Windows), erscheint immer ein Fatal-Error das dies
> nicht möglich ist. Welche Möglichkeiten hab ich, damit ich die
> Skripte nicht komplett umschreiben muss. Wenn ich error_reporting(0)
> setze bringt das recht wenig. Kann ich irgend wo einen Schalter
> umlegen, dass er mir diesen Aufruf von PHP4 trotzdem zulässt? Das
> komische ist nur, auf Debian Etch mit PHP 5.2.x läuft es ohne
> Probleme.

Sry, aber das macht wirklich unglaublich wenig Sinn. Wenn ein
Konstruktor einen anderen Wert liefert, als sich selbst, dann kann er
seinen Zweck schlecht erfüllen. Es wäre dann eine stink normale
statische Methode in Kunstruktorverkleidung.
Also wie wäre es, wenn du aus dem "Konstruktor" einfach eine normale
statische Methode machst? Du musst ja nur static for das function
schreiben und erledigt isses. Falls du auf $this zugreifst, musst du das
natürlich ändern, aber das schaffst du schon.
> 
> MfG Mario

Yannik

php::bar PHP Wiki   -   Listenarchive