Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wlasny system bledow
Forum PHP.pl > Forum > PHP
marcio
Witam jestem w fazie tworzenia mojego mini FW jesli mozna to tak nazwac bardziej bedzie to zbior klas/narzedzie ktore bedzie pomagalo tworzyc mi strony,portale i kij wie co.

Ogolnie czytam prawie wszystkie watki z pro i archiwum pro doszlem do wniosku ze przydalby by mi sie jakis system obslugi bledow do debugowania kodu.

Gdzie jest problem ano jednak jest w powyzszych 2 forach o systemach bledow nic nie znalazlem.

Chce miec system bledow "globalny" co przez to rozumie.

Mam glowny plik rozruchowy index.php:

  1.  
  2. <?php
  3.  
  4.  
  5. require_once('frontcontroller/Dispatcher.php');
  6. require_once('frontcontroller/Controller.php');
  7. require_once('frontcontroller/Model.php');
  8. require_once('libraries/Loader.php');
  9.  
  10. $router = Loader::load('Router');
  11.  
  12. $core = new Dispatcher();
  13. $core -> Exec($router);
  14.  
  15.  
  16.  
  17.  
  18.  
  19. //no wlasnie obsluga bledow jest rozwazona jednak nie ma jeszcze implementacji.
  20.  
  21.  
  22. if(Loader::load('Cfg') -> debug == 2) {
  23.  
  24. echo $core -> debug();
  25.  
  26. }
  27.  
  28.  
  29. ?>
  30.  
  31.  


Chcialbym zeby to dzialalo na takiej zasadzie ze gdzie kolwiek mam jakies if'a moge dac cos takiego:

  1.  
  2. if(jakis warunek) {
  3.  
  4.   //jakies super czynnosci
  5.  
  6. }
  7.  
  8.  
  9.  
  10.  
  11. else ErrorHandler::Error($this, 'jakis message')
  12.  


To znaczy chce zeby byla 1 wielka tablica dla calej aplikacji ktora by wygladala mniej wiecej tak:

  1.  
  2. $errors['class']['message'];
  3.  


Do tego debug POST,GET,SESSION i COOKIE.

Tylko nie wiem jak to zrobic by wszystko bylo globalne dla calej aplikacji.

Myslalem by taka klase do do bazowego kontrolera po czym inne kontrolery dziedziczace po nim mialyby jego obiekt(lub include w przypadku statycznych metod co w tym przypadku wydaje mi sie lepsze) i potem zapisywac te bledy do statycznego pola.




Hmm jak u was to jest zrobione.




Lub moze defaultowy exception z php wystarcza?




P.S to ma byc cos ala errory z kohany
Moli
Zły dział!


Crozin
A nie wystarczy:
  1. <?php
  2.  
  3. try{
  4. //wywołanie całej aplikacji
  5. }catch(MyException e){
  6. //robisz cos z bledem, ktory nie zostal przechwycone przez inne bloki try{}catch{}
  7. }
marcio
O set_error_handler wiem tongue.gif pokombinuje dzis z samym exception i zobacze czy mi wystarcza

Maly OT ale nie chce juz zakladac nowego tematu.

Chce do mojego "fw" dodac biblioteke autoryzacji i mam male pytanie rozwiazac wszystko(logowanie, wylogowanie,sprawdzanie uprawnien etc...) z poziomu biblioteki lub z poziomu modulu/pluginu.




Tzn chodzi mi o to czy bedzie to dobrze wygladalo jesli w samej bibliotece Auth bede laczyl sie z baza i sprawdzal dane etc lub jesli stworze modul do obslugi logowania gdzie jego model bedzie sprawdzal user'a i wysylal te dane do biblioteki?




Chodzi o sam fakt czy biblioteka ma sama pobierac dane z bazy w tym przypadku lub lepiej jak pobierze je ona jako parametr z modelu komponentu ktory ma uzyc Autoryzacje?

bełdzio
rzuć okiem na metodę exception_handler http://github.com/shadowhand/kohana-core/b...kohana/core.php efektem jej działania jest coś takiego http://img.skitch.com/20090711-tpnh7nxg2jm...hpnppahekk7.png
marcio
Thx beldzio te klase przegladalem juz u mnie na localu tongue.gif.




A tak w ogole ktos moglby odpowiedziec na mojego poprzedniego posta?

bełdzio
sama smile.gif tu też mogę dać kohanowego linka smile.gif http://projects.kohanaphp.com/projects/aut...ry/browse/trunk wsio masz zlokalizowane w obrębie modułu user tylko musi wywołać odpowiednie metody i już smile.gif
marcio
Aha rozumiem czyli w bibliotece Auth umiescic wszystkie metody a potem w komponencie lub pluginie uzyc biblioteke Auth tam gdzie jest potrzebna np uwierzytelnienie(isLogged()) w kontrolerze a np save()/login() w modelu danego komponentu/pluginu gdy jest potrzeba.
bełdzio
generalnie tak, tyle że odpowiednie modele dostarcza również biblioteka, jedyne co user powinien robić to wywoływać odpowiednie metody
marcio
Hmm u mnie ogolnie liby nie maja modeli maja tylko jedna klase ale to nie problem to przebudowac.




Lecz mysle ze zrobie tak jak jest.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.