Skocz do zawartości

[PHP] Dyrektywy preprocesora?


PsichiX

Rekomendowane odpowiedzi

Witam. Muszę koniecznie sprawić aby moja aplikacja mogła działać zarówno pod PHP 4 jak i PHP 5 i zastanawia mnie czy istnieje w PHP coś takiego jak dyrektywy preprocesora w C++? albo czy da się to jakoś inaczej załatwić, aby nie pisać osobno dla php5 i php4 tylko mieć jeden plik i zależnie jaka wersja taki kod wykonuje :)

Odnośnik do komentarza
Udostępnij na innych stronach

E, nie. PHP nie jest kompilowany. Możesz sobie na bierząco sprawdzać wersję.

 

http://us2.php.net/manual/en/function.phpversion.php

http://us2.php.net/manual/en/function.version-compare.php

if( version_compare( PHP_VERSION, '5.0.0' ) >= 0 )
{
    define( 'PHP_4', false );
    define( 'PHP_5', true );
}
else
{
    define( 'PHP_4', true );
    define( 'PHP_5', false );
}

I później:

if( PHP_4 )
{
...
}

if( PHP_5 )
{
...
}

 

Co jednak jest bez sensu, PHP ma kompatybilność wsteczną więc nie ma problemów z pisaniem w 4 na serwerze z 5.

I nie bój się o sytuację gdy masz 5 na serwerze z 4, bo jednak jest teraz za mało serwerów z 4 by się tym przejmować.

 

Co oczywiście nie znaczy, że nie możesz sobie zrobić preprocesora.

http://forum.php.pl/lofiversion/index.php/t15471.html

Odnośnik do komentarza
Udostępnij na innych stronach

niestety trafiłem na firme która udostępnia terminal z PHP 4 ;( a aplikacja musi być zarówno dla 4 jak i 5, przymusowo, poza tym w klasach w php5 daje public i private, a w php4 musze var, a logicznie myslac dynamicznie nie zadeklaruje zmiennych wedlug Twojego kodu :/

 

EDIT: swoją drogą, naszła mnie ochota do napisania takiego preprocesora w C, dzieki za pomysł :)

Odnośnik do komentarza
Udostępnij na innych stronach

To zostań przy składni PHP 4, mówię jeszcze raz, że PHP 5 nie sprawia problemów z obsługą starszej wersji.

Nie ma możliwości, aby zadowolić firmę jednocześnie wersją w PHP 4 i PHP 5, musiał byś pisać wszystko 2 razy, a to idiotyzm.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...