Yii
Yii (ang. Yes It Is) – otwarto‑źródłowy, obiektowy framework PHP przeznaczony do budowy aplikacji internetowych typu MVC (Model‑View‑Controller). Powstał w 2008 roku i od tego czasu jest wykorzystywany zarówno w małych projektach, jak i w dużych systemach produkcyjnych.
Historia
Projekt został założony przez Qiainga Xue i początkowo wydany jako oprogramowanie otwarto‑źródłowe na licencji BSD. Pierwsza wersja Yii 1 ukazała się w 2008 roku. W 2011 roku wydano Yii 2, które przyniosło pełną kompatybilność z PHP 5.4+ oraz nowoczesną architekturę komponentową.
Architektura i podstawowe koncepcje
- Moduły – samodzielne części aplikacji, które mogą być wielokrotnie używane.
- Komponenty – obiekty realizujące konkretne funkcjonalności (np. CActiveRecord do obsługi baz danych).
- Wzorzec MVC – rozdzielenie logiki aplikacji (Model), warstwy prezentacji (View) oraz sterowania (Controller).
- Gii – wbudowane narzędzie generujące kod (skrzyny, modele, kontrolery) przyspieszające rozwój.
- Active Record – warstwa mapująca obiekty PHP na rekordy MySQL i inne bazy danych.
Funkcje i możliwości
Framework oferuje szereg gotowych rozwiązań, które ułatwiają tworzenie aplikacji:
- Wbudowany system cache'owania (memcached, APC, Redis).
- Obsługa RESTful API oraz WebSocket.
- Zaawansowany system RBAC (kontrola dostępu).
- Wsparcie dla internacjonalizacji i lokalizacji.
- Moduł testów jednostkowych (PHPUnit) oraz funkcjonalnych.
- Integracja z popularnymi bibliotekami front‑endowymi (Bootstrap, jQuery).
Wersje
| Wersja | Data wydania | Kluczowe zmiany |
|---|---|---|
| Yii 1 | 2008 | Podstawowa implementacja MVC, komponenty, Gii. |
| Yii 2 | 2011 | Obsługa przestrzeni nazw, Composer, lepsza wydajność. |
| Yii 3 (w przygotowaniu) | 2023‑2024 | Pełna kompatybilność z PHP 8, nowoczesny system zależności. |
Zastosowanie
Yii jest wykorzystywany w różnych typach projektów, m.in. w:
- Systemach e‑commerce (Magento – częściowo oparty na Yii).
- Portalach informacyjnych i portalach społecznościowych.
- Systemach CRM i ERP.
- Aplikacjach mobilnych (backend).
Porównanie z innymi frameworkami
W języku PHP istnieje kilka popularnych frameworków. Poniższa tabela przedstawia krótkie zestawienie Yii w odniesieniu do nich:
| Framework | Rok powstania | Licencja | Kluczowe cechy |
|---|---|---|---|
| Laravel | 2011 | MIT | Eloquent ORM, Blade, szeroki ekosystem pakietów. |
| Symfony | 2005 | MIT | Modularność, komponenty wykorzystywane w innych projektach. |
| Yii | 2008 | BSD | Wysoka wydajność, gotowy generator kodu, prostota konfiguracji. |
Społeczność i wsparcie
Yii posiada aktywną społeczność programistów, organizowaną w forum, grupy dyskusyjne oraz konferencje (YiiConf).
Dokumentacja jest dostępna w formie wiki oraz jako oficjalny podręcznik. Dostępne są także liczne rozszerzenia publikowane w Packagist (przez Composer).