Sprawozdanie z Seminarium dyplomowego Temat:Ułatwienia

Transkrypt

Sprawozdanie z Seminarium dyplomowego Temat:Ułatwienia
Elbląg 06.10.2010
Sprawozdanie z Seminarium
dyplomowego
Temat:Ułatwienia wynikające z
zastosowania frameworku CAKEPHP
Marek Lewandowski
CakePHP jest to framework open source utworzony dla środowiska PHP mający na celu
ujednolicenie, przyspieszenie oraz ułatwienie tworzenia aplikacji internetowych. Framwork
wzorowany jest na systemie RoR 1 i działa on w oparciu o powszechnie stosowane wzorce takie jak
MVC2 oraz ORM3.
Do uruchomienia systemu potrzebujemy serwera www oraz bazy danych. Najpopularniejszą
konfiguracją dla CakePHP jest użycie serwera Apache oraz powiązanej z nim bazy MySQL. W tak
przygotowanym środowisku instalacja CakePHP jest bardzo prosta. I najczęściej ograniczą sie ona
do sprawdzenia praw dostępu w katalogu plików tymczasowych frameworka oraz skonfigurowaniu
pliku konfiguracyjnego bazy danych.
Wspomniany wcześniej model MVC jest obiektowo zorientowaną koncepcją
programowania dzieląca aplikację na 3 warstwy. Taki podział aplikacji służy upożadkowaniu
architektury systemu. Dzięki niemu nie rzadko zmiany dokonywane w jednej części kodu nie niasą
za sobą konieczności wprowadzania zmian w pozostałych 2 częściach.
Warstwa modelu odpowiedzialna jest za komunikację aplikacji z danymi oraz ich walidaję. Model
wyodrębnia dane jakie chcemy uzyskać z fizyczniej bazy danych.
Warstwa widoku służy reprezentacji danych uprzednio spreparowanych w modelu aplikacji. Widok
tworzy instancje klas modelu i wywołuję metody odpowiedzialne za pobranie poszczególnych
danych.
Warstwa kontrolera odpowiedzialna jest za interakcje użytkownika z aplikacją. Kontroler akceptuję
żadanie użytkownika i za pomoca modelu oraz widoku preparuje dane oraz ich reprezentacje.
Wzorzec ORM jest to technika konwersji danych pomiędzy niekompatybilnym typem
systemu w obiektowo zorientowany język programowania. Innymi słowy służy do wyodrębnienia
obiektów z fizycznych modeli do takich wartości, które dadzą się przechowywać w bazie danych.
1 RoR – Ruby on Rails.
2 Model, View, Controller – Model Widok Kontroler.
3 Object-relation mapping – Mapowanie obiektowo relacyjne.
CakePHP posiada wiele ułatwień w tworzeniu aplikacji internetowych. Jednym z nich jest
technologia scaffoldingu. Scafolding4 jest technika umożliwiająca w szybki spób operować na
danych w bazie, czyli tworzyć, czytać, uaktualniać i usuwać dane. Dzięki zastosowaniu tej techniki
tworzenie typowych operacji bazo-danowych jest możliwe poprzez wywołanie jednego polecenia.
Przykładowo dla tabeli comments zawierającej pola id, autor, treść wstarczy utworzyć model .
Plik modelu app/models/comment.php:
Następnie należy utworzyć kontroler odwołujący się do modelu, który automatycznie
utworzy widok oraz podstawowe operacje odwołujące sie do tabeli comment.
Plik kontrolera app/controllers/comments_controller.php:
Wynikiem powyższych dziań jest strona umożliwiąca tworzenie, wczytywanie listy, edycję
oraz usuwanie komentarzy.
Istotną zaletą CakePHP jest także mechanizm walidacji sprawdzającego poprawność
spójność oraz przydatność danych.
Request dispatcher czyli dyspozytor żądań. Jest mechanizm pozwalający na budowanie prostych
adresó URL. Dzięki niemu odwołanie do powyższego przykłądu wyglądałoby następująca:
http://adres_strony_głównej/comments
4 Scaffolding (ang. rusztowanie)
Wymienione wyżej zalety nie są wszystkimi jakie zawiera CakePHP. Stanowią one jednak
istotne ułatwienia. Ponadto szeroka społeczność internautów nieustannie rozszerza funkcjonalności
tego środowiska oraz testuje jego bezpieczeństwo.
Z zastosowania CakePHP z pewnością można odnieść wiele korzyści w opozycji do klasycznych
metod progamowania serwisów internetowych. Z pewnością nie jest to system bez wad niemniej
jednak opisane wyżęj zalety zachęcają do jego stosowania.

Podobne dokumenty