CakePHP w praktyce. Porady dla początkujacych
04.07.2013 16:40
Jako, że każdy kiedyś musi zacząć, dzisiaj poruszę kilka tematów związanych z tytułowym framework'iem, które powinny się przydać osobą zaczynającym pracę z CakePHP.
Na dobry początek
To nazewnictwo z liczbą mnogą jest jakieś dziwne.. a co gdyby... ?
Ta konwencja jest całkiem udana i przemyślana. Dajmy na to, moduł kategorii, powiedzmy postów. Model - 'Category' Controller - no i co teraz. 'Categorys' ? - nic podobnego. Framework potrafi doskonale tworzyc liczbę mnogą. Tak więc mamy 'Categories' - po problemie.
Ok. Powinienem nazywać wszystko po angielsku, na wypadek gdyby ktoś chciał potem skorzystać z mojego kodu. Ale ja chcę linki po polsku!
Tak, nazywanie kontrolerów czy modeli polskimi nazwami wygląda co najmniej dziwnie i ponowne wykorzystanie kodu, dla osoby, która nie mówi po polsku, będzie dość trudne.
Na takie sytuacje przychodzi nam routing. Konfiguracja jest dziecinnie prosta. Plik znajduje się w
app/Config/routes.phpI teraz możemy wymusić na aplikacji polskie url'e.
Router::connect('/kategorie/dodaj', array('controller' => 'categories', 'action' => 'add'));
Dodałem w modelu inną tabelę, jak się mogę teraz do niej dostać?
Nic prostszego. Odwołujemy się poprzez taki oto schemat:
$this->NazwaAktualnegoModelu->NazwaDopisanegoModelu->{find, save, itp..}(argumenty)
Chciałbym dostać się do funkcjonalności innego modelu, jak to zrobić?
Aby wykorzystać inny model, wraz z jego walidacją, tabelami w relacji czy metodami, należy taki model wczytać w kontrolerze, w którym chcemy go użyć. Aby tego dokonać powinniśmy napisać taką oto linijkę:
$this->loadModel('NazwaModelu');
W ten sposób model zostaje załadowany i możemy się do niego odwoływać na pomocą
$this->NazwaZaladowanegoModelu->{metoda}(argumenty)
Porad może nie dużo, ale mam nadzieje, że komuś się przydadzą. Czas wracać do pracy, za jakiś czas kolejne porady :) Pozdrawiam i dziękuje za uwagę.