![]() |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi po głowie taki "preprocesor" albo "kompilator" do php. Hmm, wyobraźcie sobie że macie jakiś obiektowy systemik - powiedzmy kilkanaście klas, w tym interfejsy (PHP5). I chciałoby się wypuszczając oficjalną wersję tego systemiku wrzucić to wszystko do jednego pliku, bo i tak te klasy się nazwajem potrzebują. A interfejsy w ogóle nie są potrzebne - tylko ułatwiają pisanie - i można je całkowicie usunąć.
I uruchamiałoby się taki preprocesor, który mergowałby pliki, usuwał (niepotrzebne już) instrukcje require_once(...) itd. Sprawa nie jest prosta, bo preprocesorowi trzeba jakoś powiedzieć, co ma do czego przerzucić, a co zostawić w spokoju. No i nie może on absolutnie pogubić się i wprowadzać do kodu nowe błędy. Czy takie coś może istnieje? Czy to jest w ogóle dobry pomysł? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
@Nalfein:
Aaaaaa, sprytne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Chociaż wtedy jest pewne ryzyko, że "zgubi się" jakieś define(...) i takie, umieszczone poza klasą. Ale w PHP5, mając nowe słowo kluczowe const, stosuję raczej zasadę "jeden plik = jednak klasa i nic poza klasą". @enceladus: MMCache też robi z tego tyle plików, ile było na początku. Chociaż nie znam zasad działania na tyle dobrze, aby stwierdzić, czy weźmie pliki z bytecodem z dysku, czy będzie je trzymał w pamięci. Ciekawe, jaka dla MMCache jest różnica pomiędzy 10 plikami, a 1 plikiem powstałym ze sklejenia tamtych. W sensie szybkości, oczywiście. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 18:22 |