Spawn Framework – piszemy pierwszą aplikację

W poprzednim wpisie przedstawiłem oraz omówiłem podstawy Spawn Framework. Dziś postaram się zaprezentować jak stworzyć swoją pierwszą aplikację w tym frameworku. Omówimy dokładniej wzorzec MVC, oraz przyjrzymy się podstawowym klasom jakie dostarcza nam Spawn.

Zacznijmy od skonfigurowania bazy danych dla ORM. Aby w pełni skonfigurować bazę do pracy z ORM musimy wykonać dwie czynności:

W pliku Database.php znajdującym się w katalogu Bin/Config aktualizujemy dane dotyczące nazwy bazy, użytkownika oraz jego hasła. Są to dane które zostaną dostarczone silnikowi PDO na którym opierają się klasy spawna.

Kolejnym krokiem będzie wywołanie połączenia bazy, oraz jego rejestracja umożliwiająca dostęp do bazy z dowolnego modelu. Aby tego dokonać otwieramy plik bootstrap.php znajdujący się w katalogu Application, oraz tworzymy blok odpowiedzialny za połączenie z bazą:

Powyższy kod wykorzysta klasę \Spawn\Db\Manager do zapamiętania połączenia.

Na koniec stwórzmy tablicę dla przykładowego systemu newsów:

MVC – model, widok, kontroler

Zajmijmy się teraz stworzeniem pierwszej strony. Aby stworzyć stronę potrzebujemy kontrolera oraz akcji która zwróci widok. Każdy kontroler dzieli się na akcje, czyli podstrony naszej aplikacji. Kontrolerem jest klasa, zaś akcjami metody kończące się wyrazem Action.

Jak pisałem w poprzednim wpisie główne katalogi programu mieszczą się w katalogu Application. Zacznijmy od stworzenia głównego kontrolera Home. W tym celu w katalogu Application/Controller tworzymy plik Home.php z kodem podanym w listingu:

Powyższy kod załaduje layout index.phtml oraz wczyta do niego widok o nazwie akcji, w tym wypadku będzie to Home/index.phtml. Stwórzmy przykładowy plik layoutu oraz treści strony w katalogu Application/View.
Plik index.phtml:

Oraz plik treści strony w katalogu View/Home

Jako ostatnią czynność przed odpaleniem strony w przeglądarce ustawimy kontroler Home jako domyślny kontroler. Zmiany domyślnego kontrolera oraz akcji należy dokonać w pliku index.php.
Ustalmy nową wartość dla parametru controller:

Wejdźmy teraz w przeglądarce pod adres 127.0.0.1 gdzie znajduje się nasza strona, aby zobaczyć wynik pracy:
spawn_wpis_2_screen_1

To tyle jeśli chodzi o podstawy pracy z kontrolerem i widokiem. Zajmijmy się teraz włączeniem do naszej aplikacji logiki odpowiedzialnej za pracę z bazą danych. Aby się nie przepracować wspomożemy się klasą ORM która przy pierwszym wywołaniu wygeneruje nam model reprezentujący tabelę news.

Stwórzmy nowy kontroler o nazwie News posiadający akcje index oraz read. Akcja index będzie pobierała pięć wpisów z bazy, oraz generowała paginację jeśli wpisów w bazie jest więcej. Akcja read będzie odpowiedzialna za wyświetlenie jednego wpisu. Dokładny opis wykorzystanych klas znajdziemy odpowiednio w tutorialu opisującym zastosowanie ORM oraz Pager.

Stwórzmy pliki widoku index.phtml oraz read.phtml w katalogu View/News. Plik index.phtml odpowiedzialny za wylistowanie artykułów oraz wyświetlenie paginacji:

Plik read.phtml odpowiedzialny za wyświetlenie pojedynczego newsa:

Aby zobaczyć efekt pracy udajmy się pod adres 127.0.0.1/news
spawn_wpis_2_screen_2

Podsumowanie

Po tym artykule posiadasz już podstawową wiedzę na temat pracy z Spawn Framework. Potrafisz skonfigurować framework, tworzyć kontrolery, widoki oraz przeprowadzać proste operacje na bazie danych z wykorzystaniem ORM. W kolejnych dwóch wpisach zostaną omówione możliwości pracy na wielopoziomowych kontrolerach, korzystanie z firewalla oraz autoryzacji, na koniec stworzymy CRUDowy panel admina do zarządzania bazą danych.

Osoby zainteresowane frameworkiem zapraszam na stronę Społeczności.

Programista webdeveloper, miłośnik oraz aktywny działacz open-source, od lat związany z społecznością php.

Send this to a friend