Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konwersja klas php5 do php4?
Forum PHP.pl > Forum > PHP
marcini82
Witam!

Czy znacie jakies rozwiazanie do latwej konwersji klas php5 tak, aby zadzialaly na php4? Czyli wywalenie public, wstawienie var, zamiana wyjatkow na die() albo trigger_error() itd. Tak zeby jak najmniejszym nakladem pracy klase dalo sie dostosowac do pracy na serwerze gdzie jest tylko php4.
Taki konwerter zamienialby pewne standardowe elementy, a drobne szczegoly bym sam przegladal i dostosowywal.
Wiem, ze moze taki pomysl to hardcore i taka klasa po przerobce straci swoja jakosc, ale czasem musze zastosowac w projekcie jakas klase i ma to dzialac na php4. A ze klasy pisze zazwyczaj pod php5, wiec mam duzo recznego przerabiania...
Moglbym sam cos takiego sklecic w php, ale to tez troche pracu jest sad.gif
webdice
Tak łatwo tego nie zrobisz, niema takich programów, a raczej ja takich nie znam (może do usunięcia public, wstawienia var i tego typu drobnych zmian może byś coś znalazł), ale usunięciem wyjątków już będzie większych problem, myślę że poprawienie tego własnoręcznie zajęło by Ci mniej czasu niż poprawianie po jakimś skrypcie.
deirathe
A jakbyś tak napisał sobie mini programik w php żeby wyrzucał z pliku to czego nie potrzeba- to by niezajeło aż tak sporo czasu, w sumie duży problem byłby z dziedziczeniem __consatruct, __get itd, bo nie pamietam czy w php4 bylo dziedziczenie czy tez nie ale __get i __construct napewno nie było ;/ A tak BTW najlepiej to zmienić hosting:P po co Ci hosting który nie idzie z postępem?tongue.gif
marcini82
Cytat
po co Ci hosting który nie idzie z postępem?

To niestety nie hosting, a klienci maja takie ograniczenia...

W sumie gdybym przysiadl to moze i dosc szybko bym stworzyl cos takiego, ale jednak wolalbym cos gotowego. Bo zanim bym dobrze przetestowal swoje rozwiazanie to tez troche czasu by mi zajelo. A dziedziczenie na szczescie jest w php4.
UDAT
Cytat(deirathe @ 29.06.2007, 07:58:12 ) *
A jakbyś tak napisał sobie mini programik w php żeby wyrzucał z pliku to czego nie potrzeba- to by niezajeło aż tak sporo czasu, w sumie duży problem byłby z dziedziczeniem __consatruct, __get itd, bo nie pamietam czy w php4 bylo dziedziczenie czy tez nie ale __get i __construct napewno nie było ;/ A tak BTW najlepiej to zmienić hosting:P po co Ci hosting który nie idzie z postępem? tongue.gif


Co do __get to spójrz na rozszerzenie overload" title="Zobacz w manualu PHP" target="_manual. Co do __construct to masz przejażdzkę tokenizerem i zmianę nazw ( co nie jest wcale trude ).

Możesz także użyć PHP_Compat, ktre odciąży cię trochę od pisania funkcji dodanych do PHP5
Strzałek
Hmm. Wydaje mi się że wczoraj pisałem post w tym temacie. Dziwne.

No nic. Napiszę jeszcze raz.

Więc zdecydowanie NIE POWINNO się pisać jakiś konwerterów czy innych tego typu rzeczy. Po pierwsze nigdy nie będzie to działało tak jak ma działać, po drugie nie o to chodzi żeby usunąć public i zmienić na var.

Musisz po prostu przepisać klasę na PHP4. Albo inaczej - zapomnieć że istnieje PHP4 i pisać tylko pod 5.

Pozdrawiam.
marcini82
Cytat
Więc zdecydowanie NIE POWINNO się pisać jakiś konwerterów czy innych tego typu rzeczy. Po pierwsze nigdy nie będzie to działało tak jak ma działać, po drugie nie o to chodzi żeby usunąć public i zmienić na var.

Nie tylko o to chodzi, ale takie standardowe rzeczy moglyby sie robic automatycznie. A ja bym sie pozniej zajal tylko bardziej finezyjnymi zmianami, zaleznymi od specyfiki danego kodu. O istnieniu php4 niestety okolicznosci nie pozwalaja mi zapomniec...
Jak tworze cos nowego to nie chce sie ograniczac ze wzgledu na kompatybilnosc i pisze pod php5, ale moze sie pozniej okazac ze w innym projekcie jakies elementy mi sie przydadza, jednak dla tego drugiego projektu ograniczeniem bedzie wlasnie php4...

Cytat
Co do __get to spójrz na rozszerzenie overload. Co do __construct to masz przejażdzkę tokenizerem i zmianę nazw ( co nie jest wcale trude ).

Możesz także użyć PHP_Compat, ktre odciąży cię trochę od pisania funkcji dodanych do PHP5

To juz zaczyna mi sie podobac smile.gif
Chociaz wiele rzeczy musialbym napisac jeszcze, np. klase emulujaca PDO za pomoca rozszerzenia mysql... Tak naprawde to wcale mi sie to nie podoba...

EDIT:
No prosze, okazuje sie, ze wcale bym nie musial:
http://www.phpclasses.org/browse/package/2572.html
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.