6.0 KiB
Uruchamianie aplikacji
Po zainstalowaniu Yii posiadasz działającą aplikację Yii dostępną pod adresem http://hostname/basic/web/index.php
lub http://hostname/index.php
, zależnie od Twojej konfiguracji.
Ta sekcja wprowadzi Cię do wbudowanych funkcjonalności aplikacji, pokaże jak zorganizowany jest jej kod oraz jak aplikacja obsługuje żądania.
Info: Dla uproszczenia, zakładamy, że ustawiłeś główny katalog serwera na
basic/web
, według poradnika "Instalacja Yii", oraz skonfigurowałeś adres URL tak, aby Twoja aplikacja była dostępna pod adresemhttp://hostname/index.php
. Dla Twoich potrzeb dostosuj odpowiednio adres URL w naszych opisach.
Należy pamiętać, że w przeciwieństwie do samego framework'a, po zainstalowaniu szablonu projektu jest on cały Twój. Możesz dowolnie dodawać, modyfikować lub usuwać kod, zależnie od Twoich potrzeb.
Funkcjonalność
Zainstalowana podstawowa aplikacja posiada cztery strony:
- stronę główną, która jest wyświetlana przy wywołaniu adresu
http://hostname/index.php
, - strona informacyjna
About
, - strona kontaktowa
Contact
, gdzie wyświetlany jest formularz kontaktowy, pozwalający użytkownikowi skontaktować się z Tobą przez email, - strona logowania
Login
, gdzie wyświetlany jest formularz logowania, który może być użyty do uwierzytelniania użytkowników. Zaloguj się danymi "admin/admin", przez co pozycjaLogin
z menu zamieni się naLogout
.
Wszystkie te strony posiadają wspólne nagłówek i stopkę. Nagłówek zawiera główne menu pozwalające na nawigację po innych stronach.
Powinieneś również widzieć pasek narzędzi na dole okna przeglądarki. Jest to użyteczne narzędzie do debugowania dostarczone przez Yii zapisujące i wyświetlające wiele informacji, takich jak wiadomości logów, statusy odpowiedzi, zapytania do baz danych i wiele innych.
Dodatkowo do aplikacji Web dostarczono skrypt konsolowy nazwany yii
, który jest ulokowany w głównym katalogu aplikacji.
Skrypt może być użyty do uruchomienia w tle zadań dla aplikacji, które są opisane w sekcji Komendy konsolowe.
Struktura aplikacji
Najważniejsze katalogi oraz pliki w Twojej aplikacji to (zakładając, że główny katalog aplikacji to basic
):
basic/ bazowa ścieżka aplikacji
composer.json plik używany przez Composer, opisuje informacje paczek
config/ zawiera wszystkie konfiguracje, w tym aplikacji
console.php konfiguracja konsoli aplikacji
web.php konfiguracja aplikacji Web
commands/ zawiera klasy komend konsoli
controllers/ zawiera klasy kontrolerów
models/ zawiera klasy modeli
runtime/ zawiera pliki wygenerowane przez Yii podczas pracy, takie jak logi i pliki cache
vendor/ zawiera zainstalowane paczki Composer'a, w tym framework Yii
views/ zawiera pliki widoków
web/ ścieżka aplikacji Web, zawiera dostępne publicznie pliki
assets/ zawiera opublikowane przez Yii pliki zasobów (javascript oraz css)
index.php skrypt wejściowy dla aplikacji
yii skrypt wykonujący komendy konsolowe Yii
Ogólnie pliki aplikacji mogą zostać podzielone na dwa typy: pliki w katalogu basic/web
oraz pliki w innych katalogach.
Dostęp do pierwszego typu można uzyskać przez HTTP (np. przez przeglądarkę), podczas gdy reszta nie może, i nie powinna być, dostępna publicznie.
Yii implementuje wzór architektoniczny model-widok-kontroler (MVC), który jest odzwierciedleniem przedstawionej wyżej organizacji katalogów.
Katalog models
zawiera wszystkie klasy modeli, katalog views
zawiera wszystkie skrypty widoków, oraz katalog controllers
zawiera wszystkie klasy kontrolerów.
Poniższy schemat pokazuje statyczną strukturę aplikacji.
Każda aplikacja zawiera skrypt wejściowy web/index.php
, który jest jedynym publicznie dostępnym skryptem PHP w aplikacji.
Skrypt wejściowy pobiera przychodzące żądanie i tworzy instancję aplikacji do przetworzenia tego żądania.
Aplikacja obsługuje żądanie z pomocą komponentów, po czym wysyła żądanie do elementów MVC.
Widżety są używane w widokach aby pomóc zbudować złożone i dynamiczne elementy interfejsu użytkownika.
Cykl życia żądania
Poniższy schemat pokazuje jak aplikacja przetwarza żądania.
- Użytkownik tworzy zapytanie do skryptu wejściowego
web/index.php
. - Skrypy wejściowy ładuje konfigurację aplikacji oraz tworzy instancję aplikacji w celu przetworzenia żądania.
- Aplikacja obsługuje żądanie route'a z pomocą komponentu żądania aplikacji.
- Aplikacja tworzy instancję kontrolera do obsługi żądania.
- Kontroler tworzy instancję akcji i wykonuje filtrowanie dla akcji.
- Jeśli warunek dowolnego z filtrów nie jest spełniony, akcja jest zatrzymana.
- W przeciwnym wypadku wywoływana jest akcja.
- Akcja wczytuje model danych, prawdopodobnie z bazy danych.
- Akcja renderuje widok, dostarczając mu model danych.
- Wynik zwracany jest do komponentu odpowiedzi aplikacji.
- Komponent odpowiedzi wysyła wynik do przeglądarki użytkownika.