endi007
5.01.2012, 11:53:51
Witam jestem programistą c++ a ostatnio zostałem przymuszony do nauki php i frameworku YII. Mam kilka problemów z zrozumieniem niezbędnych podstaw i z tond ten temat. Oto kilka spraw których nie rozumiem:
1. Konkretnie do czego służą kontrolery, modele i cruut?Ja rozumiem to tak: kontroler przetwarza jakąś akcję, model przechowuje dane a cruut jest połączeniem dwóch pierwszych żeczy.
2. Gdzie wywoływane są kontrolery i ich akcje? Jeśli utworzę sobie sam jakiś kontroler to odpala mi się on zawsze przy odpaleniu strony głównej. Dlaczego? Czy wszystkie kontrolery muszą działać zawsze przy starcie strony główne. Jeśli służą one do przetwarzania akcji i ja bym sobie chciał np. opisać akcję (naciśnięto button) i potrzebował bym to na jakiejś stronie xyz.php to po co kontroler ma istnieć już wcześniej.
3. Czy metody w kontrolerze mogą mieć dowolną nazwę? Gdzie i jak je później wywołać?
4. Jak utworzę sobie kontroler przy pomocy GII to standardowo wrzuca mi tam metodę public function actionIndex() a w niej wywołuje $this->render('index') po co? Skoro to jest jakiś mój dodatkowy kontroler to po co on ma rysować jeszcze raz stronę główną?
5. Czemu jak się utworzy crud to on zawsze wypisuje użytkowników z tabeli. Czy to jest tylko taki przykład i należy sobie go zedytować?
melkorm
5.01.2012, 12:03:20
1. Poczytaj o MVC - dużo ci to wyjaśni + tematy na tym forum których jest od groma.
2. Dispatcher szeroko rozumiany, w skrócie leci to tak że aplikacja routuje akcję na podstawie zmiennych w adresie do odpowiedniego kontrolera / akcji.
np : /user/add -> kieruje do Controller : User, Action : add - w wielkim uproszczeniu.
3. Mogą mieć dowolną nazwę do momentu kiedy nie są akcjami, gdy są akcjami nazwę defaultowo narzuca framework typu <nazwa akcji>Action itp zazwyczaj jest to opisane dokładniej w manualu.
4. Akcja, ani kontroler Index nie definiują tego że będzie to strona główna aplikacji, wszystko determinują zdefiniowane routery w aplikacji.
Co do samego YII ja szczerze nie narzekałem na dokumentację i na wszystkie Twoje pytania można w niej znaleźć odpowiedzi.
To w wielkim skrócie, raczej nikt Tobie dokładniej tego tutaj nie będzie wyjaśniać bo większość już została bardzo dokładnie opisana przez wiele osób, wystarczy poszukać informacji, zresztą jak już wspomniałem dokumentacja Yii ma to wszystko opisane.
endi007
5.01.2012, 12:37:41
W takim razie jeszcze powiedzcie mi czy jeśli chcę dostawić sobie jakiś obrazek to takie coś:
<img src="images/obrazek.jpg" alt="Tekst alternatywny" />
jest prawidłowe? Czy stosując ten silnik należy to robić inaczej? Podobnie jeśli chcę dodać jakiś button to normalnie dodaję go w html i później podpinam do niego jakiś kontroler?
melkorm
5.01.2012, 12:49:31
Poczytaj podstawowe kursy PHP/HTML bo najwidoczniej brak Tobie totalnych podstaw
PS. Oczywiście w kontekście PHP/HTML.
endi007
5.01.2012, 13:29:08
Nie zrozumieliśmy się. Ja wiem jak to zrobić w HTML tylko czy skoro tutaj mam używać takiego silnika to zastanawiam się czy konstrukcje HTML są potrzebne. Może jest prościej i należy robić to przy pomocy YII.
melkorm
5.01.2012, 13:38:34
Chcesz, możesz użyć komponent od formularzy jeżeli Framework takowy udostępnia, możesz sam napisać coś w stylu Zend_Form - możesz nie musisz, zresztą i tak PHP wygeneruje w ostateczności kod HTML który możesz sam napisać z palca, kwestia gustu.
Niktoś
5.01.2012, 18:48:35
Ja powiem tylko to milowy przeskok z c++ na php,kiedyś komuś zaproponowałem ten framework YII,ze względu na renderowanie.Ten ktoś,kto Ciebie przymusił do tego skoku wie, że w Visual Studio Net jest coś takiego jak CSHTML?
Przejść z C++ do C# chybaby było dla Ciebie prostsze.
Framework YII jest odwzorowaniem CSHTML'a ,albo odwrotnie -nawet niektóre komendy są takie same.
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.