YII2 - FRAMEWORK. NAUKA POPRZEZ TWORZENIE SYSTEMU CMS

2018-07-27

Programując w języku PHP często musimy rozwiązywać problemy, które są już opracowane przez inne osoby. Trzeba pamiętać o konfiguracji naszych aplikacji, połączenia do bazy danych, wyświetlenia szablonów - wszystko to trzeba zaprogramować własnoręcznie. Bardzo dużym ułatwieniem jest zastosowanie frameworku, który zawiera większość potrzebnych przez nas elementów. Wystarczy je tylko i wyłącznie włączyć oraz skonfigurować w pliku z ustawieniami. Dzięki temu można rozpocząć pracę nad samym systemem, ktęry mamy zaprogramować. Framework Yii posiada w swoich zasobach: zmiana języka obsługi, komponenty, cacheowanie, obsługą błędów, biblioteką do wysyłania e-mail, logi systemu, obsługą bazy danych, menadżera adresów URL czy sprawdzanie i podawanie informacji o błędach. Dodatkowo Yii został wyposażony w moduł zwany Gii - pozwala on na automatyczne generowanie elementów jak kontroler, model czy też całych systemów zarządzania CRUD.
Korzystając z frameworka będziemy budowali aplikację opartą o wzorzec MVC, który posegreguje różne elementy aplikacji i w przyszłości nie będzie problemu ze znalezieniem odpowiedniego fragmentu kodu. Dzięki zastosowaniu modeli wraz z zapytaniami do baz danych, widoków zawierających szablony stron oraz kontrolerom zawierającym kod programu tworzymy rozwiązanie zgodne z praktykami programistąw na całym świecie. Dodatkowo Yii posiada element nazwany ActiveRecord dzięki któremu tworzenie prostych zapytań do bazy danych nie musi odbywać się w modelu. Wystarczy do tego celu kontroler gdzie używa się odpowiednich metod aby utworzyć zapytanie. Framework samodzielnie przetworzy je na zapytanie w języku SQL. Niestety ale ActiveRecord musi być stosowany z umiarem ze względu na zużywane zasoby. Książka ta powstała, aby pokazać jak zastosować większość z popularnych i najczęściej używanych bibliotek. Tylko i wyłącznie praca z całym systemem od A do Z pozwoli na przyswojenie wiedzy, która po kilku powtórzeniach staje się bardzo prosta i przyjazna.