Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Trywialne pytanie o codeigniter i nie tylko. (class vs helpers)
Forum PHP.pl > Forum > PHP > Object-oriented programming
KotWButach
Witam

mam trywialne pytanie.
W codeigniter mamy podział na
Helper Reference
i
Class Reference

Dla mnie to wszystko jeden worek ale mimo to dostały oddzielne kategorie czy ktoś z tu obecnych uchyli mi rąbka tajemnicy i powie dlaczego oni je rozdzielili czym się różnią te typy?
abort
1. http://codeigniter.com/user_guide/general/helpers.html:
"Unlike most other systems in CodeIgniter, Helpers are not written in an Object Oriented format. They are simple, procedural functions. Each helper function performs one specific task, with no dependence on other functions." (to jest w drugim akapicie)

2. http://stackoverflow.com/questions/804399/...ate-new-helper:
"A CodeIgniter helper is a PHP file with multiple methods. It is not a class"
KotWButach
Czyli właściwie można przyjąć że w funkcjonalności jest to to samo?
abort
Ja na swój użytek przyjąłem, że helpery to takie nanoprocedury, których nie zauważono podczas tworzenia obiektów smile.gif

Ale na serio: nie jestem fachowcem i nie żyję z programowania w PHP, ale podzielam minimalistyczną koncepcję twórców CI, która mówi, że jeśli gdzieś nie trzeba obiektowości, to wystarczy kod proceduralny, zebrany tematycznie w jakąś grupę funkcji. I helpery są tego doskonałym przykładem - jest to zbiór procedur, a nie klas, pogrupowany tematycznie, który ułatwia życie i posiada (mniejszą lub większą) spójność.
Bo spójrzmy prawdzie w oczy, użycie h1('TYTUŁ'), anchor ('http://....', 'tekst odnośnika') czy form_open('/user/register'); jest znacznie prostsze niż babranie się w kodzie html bezpośrednio - dodatkowo w/w helpery są zgodne z xhtml, więc jedyne błędy jakie jesteś w stanie popełnić, to właściwie tylko niepodomykanie tagów div/span czy ich przemieszanie.
matw
Różnica jest też w tym w jaki sposób helpery i biblioteki są ząłczane do kodu tzn. w przypadku bibliotek od razu jest tworzony obiekt danej klasy natomiast w przypadku helperów nie ma żadnej klasy, tylko same funkcję, więc są tylko załączane do kodu.
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.