Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Framework
Forum PHP.pl > Inne > Oceny
nasty
Oddaje wam do oceny perwszy zarys mojego frameworka.
Framework ten jest pisane pod php 5.1.3+ (testowany nam 5.1.4 i 5.1.6), prosilbym o krytyke is sugestje, w planach mam jeszcze dodanie jeszcze wiele pakietow jak np. i18n, ale jak mowilem to jest jeszcze pre-alpha.



Link do paczki
Turgon
Nie mam teraz zbytnio czasu, ale zdziwił mnie brak dyspozytora i zrzucenie jego roli na usera. Potem postaram się jeszcze dokładniej kod obejrzeć i spróbuje odpalić go na localhoście.
envp
Fjanie (patrząc po łebkach) napisane, ale odpalam katalog www i mam Inernal Server Error, kasuje .htacces i mam:

Warning: Base::require(../Lib/Config\Drivers\Yaml\Spyc.class.php) [function.require]: failed to open stream: No such file or directory in /home/kamil/public_html/siteworks-framework/lib/Base.php on line 97

Fatal error: Base::require() [function.require]: Failed opening required '../Lib/Config\Drivers\Yaml\Spyc.class.php' (include_path='.:/usr/share/php:/usr/share/php/libs') in /home/kamil/public_html/siteworks-framework/lib/Base.php on line 97

Coś poszło nie tak? smile.gif

Pozdrawiam, Kamil.
php programmer
Cytat
Nie można odnaleźć strony
nasty
Cytat
Coś poszło nie tak?

tak, masz racje.
Autoloader laduje pliki php ktore sa w pliku class.path (czy cos takiego tongue.gif), generowalem je na windows a u Ciebie jest linux (z tego co widze) , mozesz uruchomic /lib/BUILD_PATH.php i bedze dzialac.

Problem lezy w tym ze linux nie rozpoznaje [\] tylko [/] w path
ale i tak dzieki
siemakuba
Cytat
Problem lezy w tym ze linux nie rozpoznaje [\] tylko [/] w path
OT, ale:
* jest predefiniowana stała DIRECTORY_SEPARATOR, i jej użycie wyeliminuje podobne błędy
* mój windows (XP SP2) rozpoznaja ścieżki bez względu na separator, więc /katalog/plik.php rozumie tak samo jak \katalog\plik.php. Dodając, że linux zrozumie /katalog/plik.php, odpowiedz jest jasna: ja uzywam wszedzie / jako separatora.

sorki za OT, ale pomyslalem ze to przydatne info.

pozdr.
nasty
Cytat(siemakuba @ 25.10.2006, 21:04:42 ) *
OT, ale:
* jest predefiniowana stała DIRECTORY_SEPARATOR, i jej użycie wyeliminuje podobne błędy
* mój windows (XP SP2) rozpoznaja ścieżki bez względu na separator, więc /katalog/plik.php rozumie tak samo jak \katalog\plik.php. Dodając, że linux zrozumie /katalog/plik.php, odpowiedz jest jasna: ja uzywam wszedzie / jako separatora.
sorki za OT, ale pomyslalem ze to przydatne info.
pozdr.


Tak, ale ja ten plik generuje przez RecursiveDirectoryIterator wiec on sam wybiera DIRECTORY_SEPARATOR odpowiednio do OS na ktorym jest wykonywany.

A autoloader bede tak uzywaz topuki framework jest w fazie development poniwasz ciagle dodawane sa nowe pliki a reczne dodawanie plikow meczy.

podrawiam
SHiP
No cóż jako linuksowiec lekko musiałem pokombinować żeby to przynajmniej pliki znajdowalo ;]
1 sprawa

W pliku index.php w 1 linijce includujesz ../lib/Base.php a nastepnie w pliku Base.php sprawdzasz czy istnieje katalog /lib/ Czy to nie jest troche bez sensu? o.O

No ale coż... zmienilem sobie na katalog /lib na /Lib (nie wiem dlaczego buld path mi takie ścieżki wygenerował) w index.php podmienilem pierwszą linijke odświerzam strone i widze
Cytat
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/hellson/public_html/siteworks-framework/Lib/Config.php on line 114

Warning: Invalid argument supplied for foreach() in /home/hellson/public_html/siteworks-framework/Lib/Config/Drivers/Yaml/Spyc.class.php on line 222

Fatal error: Class 'Struct' not found in /home/hellson/public_html/siteworks-framework/Lib/Log/LogEventStruct.class.php on line 11


Pierwszy warning chyba kazdy zna ;]
Co do drugiego sprawdzaj zmienna przekazywaną do petli czy jest tablica
Trzeci komunikat wywolany jest dwoma słowami: "extends Struct". Nie wiem gdzie jest ta klasa schowana...
pawel_k
tak przegladam kod i przez przypadek rzucilo mi sie w oczy:
  1. <?php
  2. /**
  3.  
  4.  * Helps decorating the template
  5.  
  6.  * For internal use only.
  7.  
  8.  * 
  9.  
  10.  * @param string $name
  11.  
  12.  */
  13.  
  14. public function __isset($name)
  15.  
  16. {
  17.  
  18. return array_key_exists($mane, $this->_vars);
  19.  
  20. }
  21. ?>
zwroc uwage na nazwe zmiennej podawanej jako parametr i uzywanej w metodzie ( klasa ActionAbstract )
nasty
pawel_k: Dzieki za wykrycie literowki !

Cytat(SHiP @ 28.10.2006, 16:49:43 ) *
No cóż jako linuksowiec lekko musiałem pokombinować żeby to przynajmniej pliki znajdowalo ;]
1 sprawa

W pliku index.php w 1 linijce includujesz ../lib/Base.php a nastepnie w pliku Base.php sprawdzasz czy istnieje katalog /lib/ Czy to nie jest troche bez sensu? o.O

No ale coż... zmienilem sobie na katalog /lib na /Lib (nie wiem dlaczego buld path mi takie ścieżki wygenerował) w index.php podmienilem pierwszą linijke odświerzam strone i widze


Pierwszy warning chyba kazdy zna ;]
Co do drugiego sprawdzaj zmienna przekazywaną do petli czy jest tablica
Trzeci komunikat wywolany jest dwoma słowami: "extends Struct". Nie wiem gdzie jest ta klasa schowana...


No nie ohmy.gif

Ja tego warninga nie dostaje a mam E_STRICT.

A co do klasy struct to masz cos nie tak z autoloaderem a raczej z generowanym plikiem.

Z sprawdzaniem /lib/ to masz racje, narazie to sobie jak zauwazyles plik BUILD_PATH.php i ogulnie caly autoloader zrobilem zeby szybko znajdowal nowe pliki ( a raczej klasy ), to sie zmieni jak juz bedzie wiadomo ile jest klas i gdzie leza.

Pozdrawiam.
dr_bonzo
Cytat
Ja tego warninga nie dostaje a mam E_STRICT.

Z tego co pamietam to nie wystarczy E_STRICT, musi byc E_ALL | E_STRICT
nasty
Cytat(dr_bonzo @ 29.10.2006, 22:46:34 ) *
Z tego co pamietam to nie wystarczy E_STRICT, musi byc E_ALL | E_STRICT


Tak tak, E_ALL | E_STRICT, w php.ini i w frameworku, zreszta w index.php jest

  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. ?>
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.