![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 9.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Korzystając z chwili wolnego czasu robię sobię odwozorwanie różnych funkcjonalności frameworków - obiektowo i w php, np. routing, połączenia bazodanowe singleton vs proxy itp.
Wszystko głównie w celach edukacyjnych ale kto wie może z tego wyjdzie mi kiedyś jakaś namiastka frameworka lub microframework. Wśród wielu różnych modułów stanąłem jednak przed problemem odwzorowania systemu szablonów i tu pojawia się problem jak coś takiego napisać ? ogólnie wpadłem na pomysł że za pomocą wyrażeń regularnych zamienie sobię kod np.
domyślnie maszynka ma mi zamienić coś takiego na poniższy ciąg i przypisać to do zmiennej $widok;
i tu pojawia się mały problem a w zasadzie 2, czy na podobnej zasadzie działają silniki twig czy blade ? oraz jak mogę sparsować i wyświetlić treść strony trzymaną w zmiennej $widok ? Ten post edytował mgebala8 11.07.2014, 09:13:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dzięki panowie ! (IMG:style_emoticons/default/wink.gif) jeszcze nie zacząłem pisać a już mam gotowe przykłady i jeszcze różne błędy z którymi będę miał do czynienia
rozumiem że nie ma innego sposobu wywołania kodu jak przez include ? nospor zakłada że będę miał plik już przeparsowany który będę mógł zainncludować tylko że jeśli na początku nie będę chciał korzystać z cache nie będę miał takiego pliku i tu pojawia się problem jak taki kod wywołać ? druga sprawa co jeśli cache będę robił za pomocą bazy danych mysql albo sesji ? również takiego pliku miał nie będę Jeśli chodzi o składnie języka założyłem sobie coś takiego:
dodatkowo chciałbym aby mój szablon składał się z 2 plików 1 plik to będzie kontretny kontent na zasadzie:
a w pliku layout_main będę miał główny layout strony gdzie tylko zaznaczę w kodzie
i w te miejsca ma się wstawić kod z zaznaczonych sekcji, dzięki temu mogę mieć jeden szablon dla kilku widoków i jedynie zmieniać content na chwilę obecną mam problem z: - jak wyświetlić zawartość strony (ze znacznikami php) znajdującą się w zmiennej czy jest to wykonalne ? - kiedy tworzyć nowy cache widoku a usuwać stary ? do tego chciałbym mieć jeszcze możliwość includowania innych plików np. w szablonie móc sobie wstawić @include('menu') i wszystko świetnie mój parser zamieni mi to na <?php include('menu.php') ?> ale już nie przeparsuje samego pliku menu.php zastanawiam się jak to robią inne silniki np. blade ? czy jeśli tam będę includował coś z pliku który includuje inny plik to czy ten ostatni też zostanie sparsowany ? Tutaj rozwiązaniem byłoby najpierw przeparsowanie całego kodu przez php (includujemy wszystkie pliki) potem przeparsowanie moim parserem i następnie znowu parsowanie standardowym phpem i zapisanie wszystkiego do cache ale wydajność takiego rozwiązania pewnie będzie marna... Ten post edytował marcus753 11.07.2014, 20:37:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 08:49 |