Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Konwersja klas php5 do php4?
marcini82
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
webdice
post
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.
Go to the top of the page
+Quote Post
deirathe
post
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
Go to the top of the page
+Quote Post
marcini82
post
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.
Go to the top of the page
+Quote Post
UDAT
post
Post #5





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


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? (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
Go to the top of the page
+Quote Post
Strzałek
post
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.
Go to the top of the page
+Quote Post
marcini82
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 04:49