![]() |
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: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
W związku z zainteresowaniem (i wnioskiem ~batmana) zakładam wątek.
Tytułem uzupełnienia napiszę tylko, że wątek ten jest miejscem dyskusji na temat biblioteki Phar. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Domyślnie plik PHAR jest zwykłym skryptem PHP, w którym w pewnym miejscu pierdyknięte jest wywołanie pseudofunkcji __halt_compiler() - dalej jawnie leci treść kolejnych "spakowanych plików". Odczyt odpowiedniego podpliku sprowadza się na ustawieniu kursora w miejscu jego rozpoczęcia i rozpoczęcia kompilacji skryptu od tego miejsca. API Phar-a może też posłużyć do tworzenia archiwów TAR, a także kompresji samych pharów.
Żeby zapakować skrypt do postaci Phar, w zasadzie nie trzeba przerabiać istniejących skryptów - w sieci widziałem już np. phpMyAdmina w wersji Phar. Jedyny dodatek to skrypt pakujący (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Phar przyda się twórcom bibliotek - do każdego archiwum można dołączyć tzw. "stub", który jest wywoływany w momencie załadowania archiwum. Można tam dać np. procedury inicjacyjne, jak np. rejestrowanie autoloadera biblioteki czy wstępną konfigurację. Albitos -> Trochę przekręciłeś tę notkę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Miałem na myśli, że twórcy PHP mogą optymalizować PHAR-a, zmniejszając liczbę odwołań dyskowych (w sensie: jest to wykonalne i być może tak będzie). Na dzień dzisiejszy sytuacja wygląda tak, że skrypty uruchamiane z Pharem i bez niego działają praktycznie tak samo szybko (różnice są rzędu pojedynczych żądań na 1000). Niestety, póki co kiepsko współpracuje toto z optymalizatorami kodu. Po włączeniu APC, Phar jest wyraźnie wolniejszy. Mail odkrywający ten fakt można znaleźć tutaj: http://marc.info/?l=php-internals&m=12...3624673&w=2 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 12:42 |