FindBy i recursive

No Comments

W modelu Cake jest metoda findBy<fieldName>, która pozwala pobierać dane z bazy na podstawie atrybutu „fieldName”. Prawie wcale nie używałem tej metody, ale okazała się ona dzisiaj pomocna. Okazało się też, że metoda działa z parametrem „recursvie=1″, co w moim przypadku niepotrzebnie pobierało dane z powiązanego modelu. Książka Cake o „recursive” w kontekście tej metody nic nie mówi: http://book.cakephp.org/#!/view/1026/findBy. Pomógł mi wątek na grupie Cake.

Metody przestawienia „recursive” są co najmniej dwie:

  1. Przestawienie recursive w modelu: $this->Model->recursive = -1.
  2. Skorzystanie z odpowiedniego parametru opisywanej metody (o którym książka Cake miliczy): findBy<fieldName>($value, $fields=null, $order=null,
    $limit=null, $page=null, $recursive=null) .

CakePHP 1.2 final

Komentarze są wyłączone

CakePHP logo 25 grudnia pojawiła się wersja finalna tego znakomita frameworka. Dużo ludzi włożyło dużo pracy, aby to wydarzenie mogło stać się faktem. :)

Na stronie Cake można przeczytać artykuł niejako podsumowujący tą pracę: http://bakery.cakephp.org/articles/view/the-gift-of-1-2-final

Pieczenie ciast w PHP

3 Comments

Jakiś czas temu miałem podejście do tematu programowania (głównie w kontekście aplikacji webowych) takie, że będę pisał wszystko sam, żeby mieć większą satysfakcję z tego co robię. Dopiero z czasem przyszło przekonanie, że ponowne „wynajdowanie koła” nie ma najmniejszego sensu – jak już to lepiej poznać jak to koło jest zbudowane. Ten tok myślenia był zdecydowanie bardziej praktyczny – zwłaszcza, że używając frameworka mam gwarancję rozwiązania wielu powtarzając się problemów przez ludzi bardziej doświadczonych ode mnie.

Takie podejście zaprowadziło mnie do mojego pierwszego frameworka opartego na PHP jakim jest CakePHP. Właśnie jestem w trakcie pierwszego projektu z jego użyciem. Pewien czas zajęło mi pojęcie filozofii działania Cake, ale warto było. Poza tym nie było to szczególnie trudne, gdyż framework jest bardzo przejrzysty (przynajmniej ja odniosłem takie wrażenie).

Czym właściwie jest CakePHP? Zacytuję autorów:

CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code.

Zarządzanie sesjami, tworzenie formularzy, operacje CRUD na bazach danych – te i inne problemy ma do rozwiązania każdy programista piszący aplikacje internetowe. A w zasadzie już nie ma, lub ma tych problemów o wiele mniej, bo wiele z nich rozwiązuje CakePHP.

Duża zaletą Cake (i pewnie nie tylko tego frameworka) jest konwencja nazewnictwa plików, klas oraz sama struktura katalogów sugerowana przez twórców. Pozwala to łatwo odnaleźć się w tworzonym projekcie.

To co mi się w Cake nie podoba to fakt, że autorzy trzymają się kompatybilności z PHP4. Jest to wersja PHP już naprawdę przestarzała. Mam nadzieję, że w wersji 2.x Cake będzie wspierał tylko PHP5.