Dobra, zaczniemy od błędów/złych rozwiązań:
- Brak możliwości zdefiniowania środowisk - albo przynajmniej dwóch podstawowych: production i development
- index.php:
- Już nagłówek Content-Type? Czyli co... pliku XML już nie będę mógł [b]normalnie[b] (tak wiem... nagłówki można nadpisywać) wyświetlić
- Nie wiem czemu ludzie jak definiują sobie ścieżkę do katalogu to dodają jakiegoś slasha na końcu (IMG:style_emoticons/default/smile.gif)
- Korzystając z set_include_path() powinieneś podać jeszcze jej starą zawartość: get_include_path()
- PHP 5.3 już jest od jakiegoś czasu - mogłeś skorzystać z przestrzeni nazw - szczególnie, że sf jest już "zarezerwowane"
- Mieszanie angielskiego i polskiego (sf_request::_filtr())
- Utrudnianie rozszerzania FW stosując metody prywatne, tam gdzie powinny być chronione (np. sf_request::_filtr())
- Czemu takie katalogi jak config czy logs są wrzucone wewnątrz katalogu library?
- Brak jakiejś konsekwencji w komentarzach... raz phpDoc, raz "coś", raz ich kompletny brak
- sf_router::location() - wtf? Od kiedy to router ma takie rzeczy wykonywać
- Metody potworki... spawn::create() - kompletnie nietrafiona nazwa, wykonuje za wiele czynności: konfiguruje środowisko, określa i wywołuje kontroler, zajmuje się obsługą błędów
- Czy mi sie wydaje czy router polegnie, gdy będę chciał: /my-awesome-product-123.html przekierować na kontroler: product, akcje: index z parametrem id = 123?
- Po co w __call() sprawdzasz czy metoda istnieje? Przecież oczywiste jest, że nie, skoro __call zostało wywołane.
- Jaki jest sens parametrów (2-gi i 3-ci) w sf_db::orWhere? orWhere('...', 'AND', 'AND')? (IMG:style_emoticons/default/biggrin.gif)
- Jeżeli jakiś model ma w swojej nazwie "orm" to już nie jest poprawnym modelem
- sf_jquery - ehkem... wtf?
- sf_cookie/sf_math - masz tam błędy składni
- Co w sf_math robią metody typu rbg2hex? Co to ma wspólnego z matematyką (na co wskazuje nazwa)? sf_math::dec2hex... http://php.net/manual/en/function.dechex.php
- W ogóle to widzę tu więcej funkcji, które dublują już istniejące
- sf_mail... po co to w ogóle jest "klasą"? Poza tym tylko utrudnia życie - poproszę o maila z załącznikiem do 100 osób
- sf_html::rss() - a jak będę chciał dodać atrybut title? To samo z ::css() - a media mogę podać?
- sf_view::factory() - czym to się różni od bezpośredniego wywołania konstruktora?
Takich kilka luźnych uwag/spostrzeżeń na pierwszy rzut oka patrząc po kilku plikach. Ogólnie - słabo... bardzo słabo.
PS. Popracuj nad angielskim. (IMG:
style_emoticons/default/winksmiley.jpg)
PPS.
Cytat
(...)and use the MVC architecture(...)
Nie, on nie jest oparty o MVC...
Ten post edytował Crozin 8.07.2010, 18:14:47