![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
miałem chwilę i usiadłem do autorskiego frameworka opartego na wzorcu MVC. Chciałbym go dopracować, utworzyć wersje stabilną. Kod frameworka jest dostępny pod adresem: https://github.com/artimman/dbmframework Zakończyłem pierwszy test aplikacji na serwerze zdalnym - powodzeniem. Wydaje się, że już jest całkiem Ok i ciekawe, czy ktoś się ze mną zgodzi? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Gadanie, kumasz. Chociaż szczęście każdy rozumie na swój sposób (IMG:style_emoticons/default/smile.gif)
return preg_replace('~\{{\s*(.+?)\s*\}}~is', '<?php echo $1 ?>', $code); działa prawidłowo i jest potrzebne np. w pętli {% foreach($colors as $color): %} <li>{{ $color }}</li> <- jest elegancko {% endforeach; %} więc może nie ruszajmy tego co funkcjonuje dobrze. na podanym kodzie return preg_replace('~\{{\s*(.+?)\s*\}}~is', '<?php echo $this->$1 ?>', $code); wyskakuje błąd dopisałem taki kod Kod private function extensionPath(string $code): string { return preg_replace('~\{@\s*path(.+?)\s*\@}~is', '<?php echo $this->path($1) ?>', $code); } private function extensionTrans(string $code): string { return preg_replace('~\{@\s*trans/((.+?),(.+?),(.+?)/)\s*\@}~is', '<?php echo $this->trans($1,$2,$3) ?>', $code); } w szablonie {@ path('test/') @} {@ trans('lang', [], []) @} dla path() wygląda, że idzie, ale dalej przy funkcjach z wieloma argumentami trans() to nie wiem poza tym trzeba te wszystkie metody wklepywać m.in. to compileCode(), co nie jest fantastycznym "mechanizmem", ale nie widzę tu prostego rozwiązania i preg_replace() nie wystarczy, musiałby chyba tworzyć jakąś machine do obsługi takich custom funkcji? No nie wygląda ten silnik szablonów rewelacyjnie z $this wszędzie, szablon jest zapchany $this'em, ale jeżeli nie przeszkadza, nie obciąża systemu to może tak zostawić? Powtórki jak się domyślam w class Database Pytałem o function paramType($value), brak informacji na temat typowania dla takiej metody, gdzie return jest "mixed" - PHP 7, w 8 może wystarczyło by dać tylko mixed, chociaż z mixed to i tak nie wiadomo - skłoniło mnie do if and else, aby nie zostawiać metody bez typowania w klasie, gdzie każda metoda ma typowanie. Nauka nie idzie w las, takie pragmatyczne rozwiązanie. Poza tym to nie samolot, śmiga chociaż nie ma "skrzydeł". |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 05:12 |