![]() |
![]() |
![]() ![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 08:00 |