Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Własny framework
Forum PHP.pl > Inne > Oceny
kkowalskipl
Stworzyłem własny framework do projektów. Prosiłbym wszystkich o komentarze do niego, co się podoba, co mógłbym zmienić itd.
Tutaj link do pobrania: http://docs.konrad-kowalski.com/all_open/all_open.rar
lobopol
Popatrzyłem tylko na kod i niestety uważam, że tego frameworkiem nazwać nie można, brak jakiegoś routingu, wsparcia dla ładnych url czy metod ułatwiających pracę, wszędzie masz tłumienie błędów. System templatek mógłby właściwie tu nie istnieć bo strony są praktycznie statyczne. Popatrz sobie na takie frameworki jak kohana/symfony/yii/itp. jakie mają rozwiązania bo niestety twój nie ma praktycznie żadnej elastyczności.
Daiquiri
Hmm, szczerze powiedziawszy nie bardzo widzę tam architekturę w stylu frameworka. Zapomniałeś dołączyć, nawet ogólną, dokumentację.
!*!
Z chęcią bym ocenił, ale nie ma za bardzo czego. Brakuje dokumentacji, chociażby solidnego opisu kodu. I jak na FW to brak wyżej wymienionych rzeczy go dyskwalifikuje. Popraw, opisz chociaż kod tak "ogólnie" bo bez tego trudno zgadywać co robi dany kawałek.
Spawnm
Bibliotego Gd autorstwa:
Copyright © 2009, Ian Selby/Gen X Design
Więc nie oceniam.

Co do reszty:
$file = 'komiksy/'.@$_GET['name'].'.jpg';

eval("\$aModules[$v[0]] = new $v[0]();");

$s = 'str_replace(\''.$sAll.'\', $aModules[$v[0]]->$sMethod($sArgs), $return)';

//print $s = 'str_replace(\''.$sAll.'\', $aModules[$v[0]]->$sMethod($sArgs), $return)'; print '<br />';

eval("\$return = $s;");
  1. public function mainMenu()
  2.  
  3. {
  4.  
  5. $return = '<strong>Menu główne:</strong><br />';
  6.  
  7. $return .= '
  8.  
  9. - strona główna<br />
  10.  
  11. - aktualności<br />
  12.  
  13. - galeria<br />
  14.  
  15. - kontakt<br />
  16.  
  17. ';
  18.  
  19.  
  20.  
  21. return $return;
  22.  
  23. }


To czekam na jakieś dłuższe wyjaśnienie czemu, po co i jak.
kkowalskipl
$file = 'komiksy/'.@$_GET['name'].'.jpg'; <------------ to było używane wcześniej dla testó itd(wiem ze nie zabezpieczone, bo robione na szybko, żeby coś sprawdzić), sory, ze nie zakomentowalem smile.gif

Co do reszty:
eval("\$aModules[$v[0]] = new $v[0]();");
$s = 'str_replace(\''.$sAll.'\', $aModules[$v[0]]->$sMethod($sArgs), $return)';

służy mi to do obsługi własnego systemu templatek.
Templatka wygląda tak:
---jakiś kod html..---
<div id="bla">{mainClass,mainMethod,arguments}</div>
---jakiś kod html..---

Cały kod jest parsowany.

{mainClass,mainMethod,arguments} <!-------- to dodatkowo parsuje, i zamienia odpowiednio na wywołanie odpowiedniej metody.
Czyli:
$aModules['mainClass'] = new mainClass(); <------ == ------> eval("\$aModules[$v[0]] = new $v[0]();");
$aModules['mainClass'] -> mainMethod($arguments); <------ == ------> $s = 'str_replace(\''.$sAll.'\', $aModules[$v[0]]->$sMethod($sArgs), $return)';


Co do tego: public function mainMenu()
To przykładowa metoda, do wywołania, nic większego ma nie robić, poza wyświetleniem tekstu wink.gif. Ogólnie w to miejsce wczytane jest np. menu.
ActivePlayer
dont get me wrong... nie wynajdujesz koła na nowo?
rafio
Może trochę offtopicznie ale muszę coś od siebie wtrącić:

Cytat(ActivePlayer @ 3.09.2011, 21:23:44 ) *
dont get me wrong... nie wynajdujesz koła na nowo?


A czy przypadkiem nie ma tutaj próby zbudowania własnego koła, a nie wynalezienia nowego? Sam poszukiwałem swego czasu FW dla siebie, i każdy miał coś co mnie odtrącało, w końcu postanowiłem napisać własny - nie wynajduję koła na nowo, buduję koło dopasowane do moich potrzeb.

Pozdr.
lobopol
Ja już do kół porównujemy to tu bardziej kwadrat niż koło wyszedł smile.gif
by_ikar
FW można napisać w celach edukacyjnych, chociażby. Ciekawe jakby to wyglądało jakby wszyscy używali jednego słusznego fw, napisanego w jedynym słusznym języku.. eval to można używać do templatek których nie chcemy cachować, można przecież pobawić się buforem i zwracać wynik wykonanej templatki właśnie w taki sposób. Eval jest zły.

Odnośnie tłumenia błędów.. Nie ważne czy błąd jest mały/duży lub mało prawdopodobny, zawsze powinieneś się go spodziewać i go obsłużyć. Później będzie sytuacja że chcesz jakieś informacje wysłać nagłówkami, nie zadziałają ci, nie zwróci ci błędu i nie będziesz wiedział co jest grane. Postaw przykładowo pusty znak przed kodem php nagłówki się już nie wyślą i nie będziesz wiedział dlaczego.

Podpatrz jak to się robi w innych frameworkach, może nawet jakiś ci przypadnie do gustu, przerób go pod swoje zapotrzebowania, czy coś.

Odnośnie wynajdowania koła na nowo. Po co ktoś ma pisać system templatek (opt, twig, phptal) skoro istnieje superaśne smarty? Zakładanie że lepszego koła się nie wynajdzie jest IMO błędne. Nawet jeżeli nie wynajdzie nic lepszego, to podszlifuje tu i ówdzie swoje umiejętności. Po co nam symfony/zend 2 skoro mamy symfony/zend 1 smile.gif można by tak w kółko..
erix
Cytat
Co do reszty:
eval("\$aModules[$v[0]] = new $v[0]();");
$s = 'str_replace(\''.$sAll.'\', $aModules[$v[0]]->$sMethod($sArgs), $return)';

służy mi to do obsługi własnego systemu templatek.

Skoro do czegoś takiego używasz eval i chcesz pisać frameworka, to skasuj cały kod. Nie masz pojęcia o języku, w którym piszesz. Nie zaczynaj budowy domu od komina.

Raz, są inne konstrukcje do tego, dwa - użycie czegoś takiego totalnie przekreśla optymalizacje przez akceleratory.

Odrób pracę domową. Wiem, bolesna "recenzja", ale - nie daj Panie Boże - aby ktoś z tego korzystał. Poprogramujesz trochę w pehapcu, wspomnisz moje słowa.
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.