Rozdźwięk ten jest widoczny szczególnie przy pisaniu ogólnodostępnej aplikacji, gdzie trzeba zachować odpowiednie proporcje. Niestety, ciężko sprawić, aby skrypt był szybki, załączając tysiące plików, ciężko też z tych plików zrezygnować, biorąc pod uwagę ilość konfiguracji, na jakich aplikacja może pracować. Myślę jednak, iż istnieje pewne wyjście z tego błędnego koła, wymagające wprawdzie zmiany sposobu myślenia o projekcie, ale zawsze.
Pomysł polega na napisaniu dla naszej aplikacji normalnego preprocesora sprzężonego z instalatorem. Instalator wykrywa parametry systemu, dodatkowo pyta użytkownika o parę rzeczy i na podstawie tego z posiadanych rozbitych plików PHP składa jedno, monolityczne jądro, w którym na stałe znajduje się to, co trzeba wczytywać za każdym razem. Analogiczny preprocesor można sprzęgnąć z panelem administracyjnym, aby dać możliwość zmiany ustawień już po zainstalowaniu skryptu. Powstaje pytanie, jak na czymś takim wobec tego pracować w trakcie tworzenia projektu? Cóż, potrzebna byłaby faktycznie potrzebna jeszcze autoładowarka potrafiąca dynamicznie dołączać poszczególne części. Jeszcze jedną rzeczą wartą zastanowienia jest analiza, które elementy systemu muszą być ładowane na okrągło, a które można dodawać tylko wtedy, kiedy są potrzebne.
Pomysł ten pozostaje na razie w sferze luźnych marzeń, a właściwie wymyśliłem go zaledwie godzinę temu. Jego praktyczna realizacja z pewnością dostarczyłaby ciekawych doświadczeń, ale zastanawiam się, czy naprawdę jest potrzebna. Równie istotne pytanie nurtuje mnie odnośnie wirtualnego systemu plików, o którym pisałem na wakacje (tam też odsyłam zainteresowanych :)) - ten jednak znajduje się już w trakcie pisania i być może niedługo już pojawią się jakieś konkretne dane.






Napisał Bartosz Olchówka w piątek, 20 października 2006 o 18:28
Pomysł brzmi chyba zbyt utopijnie. Nie wyobrażam sobie pracy nad takim jądrem skompilowanym z różnych pilków, gdyż każda poprawka w jakimkolwiek z nich wymusiłaby ponowną kompilację, co zapewnie doprowadziłoby mnie do szewskiej pasji ;).