![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Od kilku chwil zastanawiają mnie dwie rzeczy.
Sprawa 1: Pisze sobie frameworka, problem tkwi w pliku konfiguracyjnym, przy podaniu ścieżki względnej i bezwzględnej. Przykładowo podaje taką ścieżkę do plików:
w tym przypadku framework, po przejściu przez kilka warstw MVC oraz najpotrzebniejszych klas do odpalenia akcji, kolejno: - router (rewrite patch http://server/controller/action/param1/value1/param2/value2/ etc...), - dispatchertoken, - frontcontroller (call to dispatcher), - controller, - config loader (if any), - action, - model (if any), - view (if any), - template (if any), - user (if ACLmode = TRUE), - access (if ACLmode = TRUE), - ACL (if ACLmode = TRUE), - dispatcher (run action from frontcontroller and set all params from $_GET to action) wykonuje się w około 0.15 sec (plus łączenie z bazą w modelu dao). Ok wszystko wporządku (jak na tyle warstw to bardzo szybko). Jednak jeżeli przypisze w miejsce V_DIR ścieżkę bezwzględną w oto ten sposób:
(przyponnę że zmieni się ona z "./" na "D:/server/var/framework/") szybkość działania kodu znacznie maleje (około 0.45 sec). Jasne że mogę używać pierwszego sposobu, ale na niektórych serwerach framework nie będzie działał, poniważ główny plik klsy frameworka leży w "./core/Vframe.Class.php", gdy sprawdzamy plik "test.php" nie będzie się on odnosił do "./test.php", ale niestety do "./core/test.php" (względem pliku z klasą. Która zmienna (wartość) w pliku php.ini zmienia zakres budowania ścieżek dla funkcji require/require_once/include/include_once oraz takich jak fopen/operndir/gzopen etc... na bezwzględną, bez straty czasu wykonywania kodu? Sprawa 2: Chcę aby mój framework wyłapywał błędy PARSE i FATAL, ale jak wiemy wystepują one podczas kompilacji, przed uruchomieniem programu. Nie da się czasem uruchomić programu bez względu na napotkane błędy oraz przechwycić błedy? Moja funkcja wygląda mniej wiecej tak:
pozdrawiam, Athlan ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Chcę aby mój framework wyłapywał błędy PARSE To jest bez sensu -- kod powinien byc poprawny skladniowo kiedy wrzucasz go na serwer. Poczytaj o pisaniu automatycznych testow (google: TDD; unit test) gdy pokryjesz wszystkie pliki i testy beda "przechodzily" to bedziesz mial gwarancje ze pliki sie skompiluja. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
[OT]
Cytat wykonuje się w około 0.15 sec (plus łączenie z bazą w modelu dao). Ok wszystko wporządku (jak na tyle warstw to bardzo szybko). Lol jakich warstw ? Btw 0.15sek to nie jest szybko. Moj framework obsłuży to co pisałeś poniżej 0.05 I mamy kolejną "wersje" ZF ![]() [/OT] |
|
|
![]()
Post
#4
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Poczytaj o pisaniu automatycznych testow (google: TDD; unit test) gdy pokryjesz wszystkie pliki i testy beda "przechodzily" to bedziesz mial gwarancje ze pliki sie skompiluja. ano w sumie faktycznie... chodziło mi głównie o wyłapanie jakiś... jak to nazwał @nospor "pierdułek" na przykład notice, albo cuś o czym zupełnie zapomniałem, żeby czasem jakiś serwer nie brał tego za błąd, nie oszukując sie - nie wyłączając repotringu tych błędów Cytat Lol jakich warstw ? Btw 0.15sek to nie jest szybko. Moj framework obsłuży to co pisałeś poniżej 0.05 I mamy kolejną "wersje" ZF zwykle MVC nazywa się "warstwami", sory bez łączenia się z bazą danych jest to około 0.0016 (tak dla sproszczenia) ![]() btw: a co do mojego pierwszego problemu ze ścieżkami? pozdrawiam Athlan ![]() Ten post edytował Athlan 7.10.2006, 19:06:25 -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:58 |