ugrás a tartalomhoz

PHP visszafelé kompatibilitással?

Hojtsy Gábor · 2004. Jún. 2. (Sze), 14.30
Egyre több függvény kerül be a PHP-be, hiszen új igények és megközelítések merülnek fel, a régi funkcionalitást pedig illik megtartani. Ezért előfordulhat, hogy a kényelmes újdonságok használata miatt olyan kódot fejlesztünk, amely visszafelé nem kompatibilis, azaz régebbi PHP verziókon nem futhat. Saját megoldást is kiötölhetünk egyedi esetekben, vagy elővehetjük a PEAR PHP_Compat csomagját.

Én magam helyi gyógymódot szoktam alkalmazni. Az új függvények sokszor átláthatóbb kód írását teszik lehetővé. Ilyen kényelmes eszköz például a file_put_contents(), ami csak PHP 5.0.0-tól kezdve érhető el stabil PHP verzióban. Jellemző probléma, hogy korábbi PHP verzión is futnia kellene a kódnak. Ilyenkor a következő megoldással lehet élni:
  1. <?php  
  2. if (!function_exists("file_put_contents")) {  
  3.   function file_put_contents($filename$content) {  
  4.     $handle = fopen($filename'w');  
  5.     fwrite($handle$content);  
  6.     fclose($handle);  
  7.   }  
  8. }  
  9. ?>  
Hibakezeléssel persze érdemes lehet még fűszerezni a fenti kódot, a lényeg azonban így nyilvánvalóbb. Minél több ilyen függvényt akarunk használni, annál több saját kódot kell felvennünk, miközben figyelnünk kell arra is, hogy ezek a visszafelé kompatibilitást biztosító kódok mindig be legyenek töltve a forrás elején.

Ezen a helyzeten segít a PEAR új PHP_Compat csomagja melynek tegnap jelent meg az 1.0.0RC2-es béta állapotú verziója. Olyan függvényeket definiál, mint az array_combine(), az str_split(), a bemutatott file_put_contents(), stb, ráadásul néhány konstanshoz is elérést biztosít.