![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Witam w moim systemie(fw) obsluguje biblioteki jak i helpery(jak narazie nie mam zadnego).
Chce sie dowiedziec jaka u was jest roznica pomiedzy biblioteka a helperem. Ogolnie rzecz biorac nie znalazlem zadnej interesujacej mnie odpowiedzi w google jesli chodzi o roznice pomiedzy biblioteka a helperem jednak mam moje zdanie, widzac tez jak dziala to w kohanie lub fw przedstawionych na forum(rapide,mohebo,vframe) do ktorych niestety nie mam kodu tylko watek z forum. Ja to widze tak: -Library: czyli klasa ktora pelni dana role potrzebna mniej lub wiecej samemu systemowi by dzialal, lub jakies stale rozszerzenia systemu tak ogolnie mowiac, mam nadzieje ze rozumiecie co chce przez to powiedziec. -Helper: klasa ze zbiorem krotkich metod ktora pomoga bibliotece lub danemu komponencie/pluginu, niezalezna od samego systemu. Teraz tak widzialem rozne implementacje helperow jako klasy tylko z metodami statycznymi lub zwykle klasy jak lib z mniejsza funkcjonalnoscia. Ktora metoda jest najbardziej odpowiednia? I czy helper powinien byc jakby to powiedziec "czescia" widoku tzn jego wywolanie powinno znajdowac sie w widoku lub jako klasa w kontrolerze komponentu/pluginu? Patrzac np na kohana(http://docs.kohanaphp.com/helpers/upload) widac ze helper dziala razem z kodem biblioteki w kontrolerze, jednak w rapide(http://forum.php.pl/index.php?showtopic=53356&view=findpost&p=291964) wszystko jest w widoku. Nie wiem czy obydwie implementacje sa prawidlowe lub jest to widzimisie kodera i jego wygody? Pytam bo chcialbym zrobic to jak najlepiej i jak najbardziej dzielic wszystko na biblioteke/helper |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Niby tak ale jak widac implementacji jest wiele. To ja może dodam małe uzupełnienie do poprzednika... Helpery jako metody mogą korzystać tylko z danych przesłanych jej jako argumenty i wewnątrz nie mogą wykonywać żadnych operacji na innych danych, czyli przykładowo nie mogą odwoływać się do bazy danych. W Kohanie próba napisania helpera tak działającego wywali błąd. Dane tylko z argumentów i operowanie na nich jako jedyna forma dozwolona Dokladnie o to mi chodzilo o takie dzialanie i to na metodach statycznych. Cytat W Kohanie również są helpery, które wykorzystuje się w widokach (np. Form, HTML, Text...). Część z nich faktycznie używa się w kontrolerach (np. Email), a część tu i tu (np. URL). Mi osobiście taka dowolność pasuje, a kwestia miejsca użycia zależy od głowy programisty (można walnąć form::open() w kontrolerze, ale byłoby to przegięcie). Problem z tym ze u mnie nie ma mozliwosci uzywania PHP w widokach wiec mam maly zonk, i albo zrobie proste wyrazenie regularne ktore bedzie w widoku interpretowalo: Kod NazwaHelpera::Metoda Jako wywolanie metody za pomoca call_user_func_array() ale potem znow to zwolni w parsowaniu widoku gdy bedzie np tworzenie formularza. Myslze ze dynamiczne formularze jak ten do logowania mozna spokojnie zrobic za pomoca takiego helpera w kontrolerze jednak juz formularz do wysylania postow/komentarzy jest bardziej oczywisty i mysle ze jego stala implementacja w widoku nie zaszkodzi. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 06:17 |