Spawn Framework, czyli narzędzie dla najmniejszych

Spawn jest frameworkiem którego start miał miejsce w 2010 roku. Początkowo pisany dla programistów PHP 5.2, z końcem sierpnia 2011 roku wydany w wersji 2.0 opartej na przestrzeniach nazw. Główną myślą z jaką powstał Spawn Framework było stworzenie narzędzia dla młodszych programistów, freelancerów oraz agencji interaktywnych. Narzędzia które umożliwi w prosty i nieskomplikowany sposób szybko stworzyć stronę www, system cms/crm. Projekt jest w pełni polskim tworem, a jego strona mieści się pod adresem spawnframework.com.

Instalacja

Aby rozpocząć pracę z Spawnem należy pobrać paczkę z działu download. Istnieje również możliwość pobrania z githuba, jednak należy się liczyć z faktem, iż github służy jako „bałagarium” 🙂

Pobraną paczkę wypakowujemy do public_html, w przypadku pracy zdalnej na LAMP będzie to /var/www. Po rozpakowaniu ujrzymy cztery główne katalogi:

  • Application – katalog mieszczący naszą aplikację zgodnie z architekturą MVC (to tutaj składujemy kontrolery, modele, widoki)
  • Bin – katalog składujący dane prywatne, takie jak pliki konfiguracyjne czy logi.
  • Library – katalog mieszczący główne klasy spawna, tutaj również będziemy w przyszłości umieszczać nowe biblioteki takie jak mpdf czy swift mailer.
  • Media – katalog publiczny dostępny z poziomu przeglądarki, to w nim będziemy gromadzić nasze pliki css, js oraz grafikę.

Aby sprawdzić czy framework poprawnie nam się zainstalował, wchodzimy na 127.0.0.1. Naszym oczom ukaże się powitalna strona „Hello World”.

Spawn Framework - Hello World

Konfiguracja

Konfiguracja w Spawnie dzieli się na dwie części. Pierwszą podstawową są pliki znajdujące się w /Bin/Config. Znajdziemy tam pliki zawierające tablice php z konfiguracjami dla routera, bazy danych, itd. Druga część to Bootstrap znajdujący się w katalogu Application. Bootstrap jest klasą aktywującą która zostaje wykonana przed routingiem oraz uruchomieniem kontrolera. Jej zadaniem jest aktywacja metod rozruchowych naszej aplikacji. W metodach znajdziemy rejestrację połączenia z bazą, sesji czy firewalla, zapewniającego wygodne zarządzanie dostępem do poszczególnych części serwisu.

Tworzenie aplikacji

Aplikację tworzymy w katalogu Application. Znajdują się w nim 3 główne katalogi: Controller, Model oraz View.

  • Kontroler – przyjmuje dane wejściowe od użytkownika, na podstawie których zostaną załadowane odpowiednie modele oraz widoki,
  • Model – Odpowiada za część logiczną aplikacji,
  • Widok – jego zadaniem jest prezentacja danych.

Jak już pisałem Spawn jest tworzony na potrzeby freelancerów oraz agencji interaktywnych, czyli jest nastawiony na szybkie wytwarzanie oprogramowania. Zadanie swoje spełnia dzięki wielu uproszczeniom automatyzującym tworzenie oraz pracę z kodem. Aby lepiej zrozumieć o czym piszę, przyjrzyjmy się przykładowemu listingowi.

 

Powyższy kod wykorzystując ORM stworzy nam klasę reprezentującą tablicę news, pobierze z uwzględnieniem sortowania oraz wyszukiwarki potrzebne dane z bazy, na koniec wyświetli tablicę oraz paginację. Więcej na temat poszczególnych klas znajdziemy pod adresem: http://spawnframework.com/tutorial
A oto przykładowy rezultat naszego kodu:

Spawn Framework DataGrid
Spawn Framework DataGrid

Przyszłość

Spawn Framework stale się rozwija, każda zmiana jest owocem pracy tak twórcy frameworka, jak i innych programistów dzielących się swoimi pomysłami. Właśnie dlatego zachęcam każdego, kto korzysta z tego frameworka, aby dzielił się swoimi przemyśleniami, a jeśli posiada wiedzę i czas, zachęcam do współtworzenia Spawna również od strony kodu.

Spawn obecnie jest tworzony dla PHP 5.3, w przyszłym roku przejdzie na PHP 5.4 (lub PHP 5.5, jeśli zrobią to hostingi). Już teraz jego kod jest analizowany pod względem implementacji traitsów, usprawnień, wydzielenia generatorów modeli oraz nowych klas abstrakcji.

Podsumowanie

W tym wpisie przybliżyłem wam czym jest Spawn Framework, oraz dla kogo został stworzony. W najbliższym czasie opiszę jak w prosty i szybki sposób tworzyć w nim konkretne części aplikacji, takie jak panel admina czy firewall. Wszystkich zainteresowanych nauką Spawna zapraszam na stronę projektu.

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

webmastah.weekly
Cotygodniowa porcja linków ze świata WEBDEV BEZ spamu, TYLKO samo mięcho!
Zobacz poprzednie wydania. Dołącz do 2 tysięcy webdeveloperów!
HTML5, CSS3, JS (React, Angular, Ember, Vue), PHP, SQL