![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
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.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
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?(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Ten post edytował deirathe 29.06.2007, 06:59:27 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
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? (IMG:http://forum.php.pl/style_emoticons/default/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 Ten post edytował UDAT 29.06.2007, 07:38:17 |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
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 (IMG:http://forum.php.pl/style_emoticons/default/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 Ten post edytował marcini82 29.06.2007, 11:45:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 04:49 |