Blog (3)
Komentarze (179)
Recenzje (0)
@knykuCakePHP w praktyce. Porady dla początkujacych

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.php
I 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ę.

Wybrane dla Ciebie
Komentarze (3)