Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CodeIgniter]codeigniter: właściwe użycie widoku
zephyr7
post 5.08.2011, 13:10:52
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.11.2005

Ostrzeżenie: (0%)
-----


Chciałbym zapytać, jak powinno się POPRAWNIE złożyć widok w CI:

Powiedzmy, że mamy backoffice administratora (nagłówek, menu po lewej, content, stopka)
i zmienia się tylko środek ($content).

Jeśli mam kilka "akcji", przy każdej z nich muszę na nowo definiować każdy element widoku:

  1. $data['title']=$this->lang->line('users_backoffice');
  2. $data['head']=$this->load->view('users_header','',true);
  3. $data['content']=$this->load->view('users_categories',$categories,true);
  4. $this->load->view('users_home',$data);


Przy kilkudziesięciu "akcjach", ten sam kod ulegnie powtórzeniu kilkadziesiąt razy smile.gif, co jest sprzeczne z ideą stosowania frameworka! smile.gif

Teoretycznie, mógłbym umieścić niektóre elementy w konstruktorze, a z poziomu każdej funkcji wywoływać tylko $content

Chciałbym zapytać, jak z tym problemem radzą sobie zawodowcy kodujący w CI. Jaki jest POPRAWNY sposób obsługi widoków składających się z kilku elementów, jak menu, nagłówki, stopki, itp.? W cake'u ładuje się strony, albo szablony z elementami - co wydaje się sensowe. W CI wszystko jest "na odwyrtkę" smile.gif
Go to the top of the page
+Quote Post
nrm
post 5.08.2011, 13:14:12
Post #2





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Zawodowcy nie robią w CI. Wiem, że nie takiej odpowiedzi oczekujesz, ale robienie dzisiaj w CI to masochizm.

Aby uzyskać efekt jakiego oczekujesz wystarczy proste dziedziczenie, nadrzędny kontroler odpala główny layout i tam masz już swoje headery, footery i inne, a podrzędny z konkretna akcją zajmuje się tylko danym fragmentem.


--------------------
Go to the top of the page
+Quote Post
zephyr7
post 5.08.2011, 13:18:16
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.11.2005

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedź smile.gif CI używam "z musu" i jeszcze przez jakiś czas będę musiał się z nim pomęczyć...

A teraz troszkę filozoficznie:

- Zawodowcy nie kodują od zera
- zawodowcy nie kodują w cake'u
- zawodowcy nie kodują w CI

heheh, no to w czym?questionmark.gif? biggrin.gif
Go to the top of the page
+Quote Post
pedro84
post 5.08.2011, 13:26:36
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

Ostrzeżenie: (0%)
-----


Yii, Symfony, Zend, Kohana


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
zephyr7
post 5.08.2011, 13:36:40
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.11.2005

Ostrzeżenie: (0%)
-----


Symfony - wiem, że świetne,

ale YII rzeczywiście taki dobry? Spotkałem się z opiniami, że to trochę "szalony" framework?questionmark.gif
Go to the top of the page
+Quote Post
pedro84
post 5.08.2011, 13:44:02
Post #6





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

Ostrzeżenie: (0%)
-----


Zobacz sobie Symfony 2, to jest dopiero cudo :] Tylko, że do tego to już jest naprawdę potrzebna wiedza.

Yii? Z tymi negatywnymi opiniami się nie spotkałem, ale trochę w nim napisałem i mogę powiedzieć, że framework niezły. Szybko się w nim nie pisze, pisze się w nim błyskawicznie. Dobra dokumentacja to plus. Masz widżety, dużo rzeczy Co odpada. Generator, do prostszych rzeczy, to bajka.

Kohana to takie leciutki stworzonko, szybkie. Minusem są jego twórcy, którzy sami nie wiedzą czego chcą.

Z tych wymienionych nie używałem zbyt dużo Zenda, jakoś do mnie nie przemawia. Zabij, nie wiem czemu. Nie lubię i tyle.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
phpion
post 5.08.2011, 17:10:13
Post #7





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(pedro84 @ 5.08.2011, 14:44:02 ) *
Yii? Z tymi negatywnymi opiniami się nie spotkałem, ale trochę w nim napisałem i mogę powiedzieć, że framework niezły. Szybko się w nim nie pisze, pisze się w nim błyskawicznie. Dobra dokumentacja to plus. Masz widżety, dużo rzeczy Co odpada. Generator, do prostszych rzeczy, to bajka.

Zgadzam się. Od jakiegoś czasu wgryzam się w Yii i faktycznie robi wrażenie. Warto poświęcić mu chociaż chwilę na ogólne rozeznanie się.

Cytat(pedro84 @ 5.08.2011, 14:44:02 ) *
Kohana to takie leciutki stworzonko, szybkie. Minusem są jego twórcy, którzy sami nie wiedzą czego chcą.

Na Kohanę złego słowa nie powiem, ale w wersji 2.3.4. To, co aktualnie wyprawia się z wersją (wersjami!) 3.X to naprawdę kaplica. Podejście devów jest wręcz żenujące więc osobiście radzę unikać nowszych wersji, natomiast K2 mogę z czystym sumieniem polecić.

Wracając do tematu: w Kohanie masz klasę Template_Controller - w CI jest coś podobnego:
http://williamsconcepts.com/ci/codeigniter...aries/template/
Powinno Ci przypasować smile.gif
Go to the top of the page
+Quote Post
vvolv
post 5.08.2011, 19:06:02
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 5
Dołączył: 31.07.2011

Ostrzeżenie: (0%)
-----


Osobiście korzystam z http://codeigniter.com/wiki/codeigniter-template/
Wygląda to mniej więcej tak, że w głównym kontrolerze(który jest dziedziczony) ładuje wszystko to co się na pewno nie zmienia.
We właściwym kontrolerze jest tylko wrzucany "środek" strony. Dla większej elastyczności jest jeszcze dorzucony system widgetów, ale to jest akurat najmniej ważne.

Normanos dlaczego uważasz, że programowanie w CI to masochizm?
Go to the top of the page
+Quote Post
jacobson
post 5.08.2011, 19:38:35
Post #9





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

Ostrzeżenie: (0%)
-----


podlaczylbym sie pod to pytanie powyzej... sam w codeigniterze ostatnio wiecej pracowalem i musze przyznac ze nie mam wiekszych problemow z nim ...
Go to the top of the page
+Quote Post
szok
post 6.08.2011, 12:38:23
Post #10





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

Ostrzeżenie: (0%)
-----


Tu masz rozwiązanie problemu:

http://codeigniter.com/wiki/layout_library/

Tak swoją drogą to CI chyba jest jednym z najpopularniejszych frameworków do PHP na świecie (nie w Polsce)
http://www.google.com/trends?q=codeigniter...work%2C+symfony

Nie widać trendu spadkowego. Skoro ludzie w Google szukają o nim informacji i rozwiązywania problemów to coś się musi dziać smile.gif


Ten post edytował szok 6.08.2011, 12:40:00


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 21:46