Framework CakePHP
Transkrypt
Framework CakePHP
Framework CakePHP Andrzej Rydzewski 30.04.2010 1. Framework Framework można porównać do rusztowania lub szkieletu. Jego zadaniem jest ułatwienie pisania aplikacji. Każdy framework dostarcza różne możliwości i wykorzystuje inne podejście do ich wykorzystania. Niektóre wymuszają korzystanie ze wzorców projektowych, jeszcze inne udostępniają biblioteki i funkcje które mają ułatwić pisanie oprogramowania np. proste funkcje do odczytu i zapisu w bazie danych lub często wykonywanych zadań. 2. MVC MVC jest wzorcem projektowym, który jest często wykorzystywany do tworzenia aplikacji internetowych. Wzorzec ten wymusza na programiście rozbicie aplikacji na trzy komponenty: – Model (ang. Model) – Widok (ang. View) – Kontroler (ang. Controller) Model jest odpowiedzialny za komunikację (odczyt i zapis) z bazą danych. Widok prezentuje dane dla użytkownika (np. internauta) aplikacji. Kontroler jest częścią logiczną, która jest wywoływana jako pierwsza. W zależności jakie dane użytkownik chce uzyskać kontroler może wysłać zapytanie do modelu aby ten pobrał dane z bazy danych. Zwrócone dane kontroler może przetworzyć jeżeli tego wymaga widok. Zmodyfikowane dane (jeżeli tego widok wymagał) przekazywane są dla widoku. 3. Framework CakePHP CakePHP jest frameworkiem napisanym w obiektowym języku PHP. Jego zadaniem jest ułatwienie pisania aplikacji internetowych przez dostarczenie podstawowych działań na bazie danych i funkcji które bardzo często występują w różnych aplikacjach. Dobrym przykładem może być udostępnienie funkcji paginacji stron. Cechami, które wyróżniają frameworka CakePHP są między innymi: – łatwa i szybka nauka CakePHP – wystarczy podstawowa wiedza języka php – funkcja CRUD (ang. Create Read Update Delete) do zarządzania danymi w bazie danych – generator kodu – aplikacja, dzięki której można skonfigurować połączenie CakePHP z bazą danych i wygenerować modele, kontrolery dla każdej tabeli w bazie danych. Generator również może wygenerować pliki widoku dla tabel i funkcji index, add, edit, delete – scaffolding – funkcja ta generuje w locie (bez uprzedniego napisania ich przez programistę) funkcje dla kontrolera i pliki widoku – model MVC – framework wymusza na programiście aby ten rozbijał swoją aplikacje na trzy podstawowe komponenty: model, widok, oraz kontroler – walidacja danych – umożliwia w łatwy sposób zdefiniowanie reguł walidacji danych. Można wymienić kilka funkcji udostępnianych przez frameworka do odczytu danych: read, find, findBy, findByAll, field, read, query. Spośród tych funkcji najczęściej wykonywane są: read i find. Funkcja read odpowiada za odczyt jednego rekordu z bazy danych z tego względu funkcję często wykonuje się przy prezentacji jednego rekordu lub jego modyfikacji. Do pobrania mieszanych danych z różnych rekordów najlepiej użyć funkcji find, która przyjmuje parametry takie jak warunek wyboru rekordów, sortowanie, grupowanie danych i limitowanie ilości zwróconych danych. W frameworku CakePHP zadbano o to aby zapis danych był prosty ale również odporny na błędne dane przekazane przez użytkownika aplikacji. Funkcja save przyjmuje jako pierwszy argument dane do zapisu, a jako drugi parametr informujący czy przy zapisie dane mają zostać sprawdzone pod kątem poprawności. Jeżeli programista chce zaimplementować w swojej aplikacji autoryzację użytkownika, może do tego celu skorzystać z komponentu Auth który jest udostępniany, jak i wiele innych komponentów przez frameworka. 4. Wnioski Bardzo ważne jest aby do stworzenia aplikacji wybrać jak najlepsze narzędzia. Narzędzia te powinny ułatwić i przyspieszyć jej napisanie. Jeżeli jest to aplikacja internetowa warto wykorzystać do tego frameworka CakePHP. Udostępnia on podstawowe funkcje, które każda aplikacja internetowa implementuje. Posiada bogate zaplecze dodatkowych komponentów i helperów, które ułatwią pisanie zaawansowanych aplikacji.