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.