phpbar.de logo

Mailinglisten-Archive

[php] Portierung von PHP3 nach PHP4

[php] Portierung von PHP3 nach PHP4

Hartmut Holzgraefe hartmut_(at)_six.de
Wed, 23 Aug 2000 16:33:05 +0200


"Gretz, Georg" wrote:
> 
> Hallo PHPler :)
> 
> Ich versuche gerade, meine PHP3-Scripts nach PHP4 zu portieren, was
> eigentlich ja kein Problem sein sollte. Leider bekomme ich beim Starten der
> Scripte Fehlermeldungen. Folgendes funktioniert nicht:
> 
> class test {
>   var test = "Test";
> }
> 
> Dagegen ist das kein Problem:
> 
> class test {
>   var test;
>   function test {
>     test = "Test";
>   }
> }
> 
> Woran könnte das liegen? Vielleicht an einem Schalter beim Compile, der das
> PHP "strenger" werden lässt? :) Ich hab das Modul nicht selbst kompiliert,
> deswegen weiss ich nicht, ob sowas möglich ist...
> 
> Die Fehlermeldung: Fatal error: Cannot instantiate non-existent class: test
> in test.php on line 5

das ist doch nicht der Orginal-Code, oder?

1) die Variablennamen hinter 'var' bruachen weiter ihren '$'
   (sonst funktionieren beide Beispiele nicht)

2) PHP4 unterstützt nur noch Konstanten, aber keine berechneten
   Ausdrücke mehr für die Initialisierung von Member-Variablen
   
   d.h. 'var $test="Test";' sollte weiterhin funktionieren,
   'var $test=6*7;' geht dagegen nicht mehr, da Parsing und
   Ausführung mittlerweile zwei getrennte Schritte sind und
   beim Anlegend der Klasse noch kein Code ausgeführt wird
   und somit auch keine Ausdrücke ausgewertet werden können

   deshalb ist es in PHP 4 notwendig, berechnete Werte im 
   Konstruktor statt in der 'var' Deklaration zuzuweisein
   und auch für Konstanten wird es als 'guter Stil'
   empfohlen

(siehe auch http://www.php.net/version4/incompatibilities.php)


--
Hartmut Holzgraefe         
  hartmut_(at)_six.de     http://www.six.de    +49-711-99091-77 fax:-99


php::bar PHP Wiki   -   Listenarchive