Spis treści
Framework
Środowisko developerskie i produkcyjne
O o chodzi ?
Środowisko developerskie Yii2 oprócz aplikacji zawiera również szereg narzędzi przydatnych programiście.
W środowisku produkcyjnym narzędzia te są zbędne i powinny być niedostępne ze względów bezpieczeństwa.
W Yii2 przełączanie między tymi środowiskami jest bardzo proste.
Aby wrzucić pracę na serwer produkcyjny należy zmienić pliki konfiguracyjne oraz wyłączyć różne narzędzia zmieniając treść niektórych plików php.
Po przerzuceniu plików na serwer produkcyjny chcemy mieć znowu środowisko developerskie.

We wskazanych strzałką folderach znajdują się pliki konfiguracyjne będące odpowiednikiem plików konfiguracyjnych w folderach frontend i backend i common.
W zależności od zainicjowanego środowiska pliki w folderach frontend, backend i common zostaną podmienione na odpowiednie pliki z folderów dev lub prod.

Np. w plikach main-local.php wpisujemy inną konfigurację dostępu do bazy danych dla środowiska developerskiego i inną dla środowiska produkcyjnego .
Baza danych w środowisku developerskim znajduje się najczęściej na localhost więc konfiguracja w powyżej zaznaczonym pliku może wyglądać tak:

Natomiast ten sam plik w folderze prod będzie zawierał konfigurację bazy danych dla środowiska produkcyjnego. Np. tak:

W ten sam sposób można ustalić inne parametry aplikacji w innych plikach.
Inicjacja środowiska
Otwieramy konsolę (w środowisku Windows manager poleceń).
Przechodzimy do katalogu głównego projektu.
Wykonujemy polecenie init
Następnie wybieramy 0 lub 1 w zależności od potrzebnego nam środowiska. Czekamy chwilkę aż automat pozamienia pliki i gotowe.
Tak naprawdę nie musisz zmieniać co chwila środowiska.
Jeśli tworząc aplikację modyfikujesz pliki niezwiązane z konfiguracją to możesz je przesłać na serwer bez zmiany środowiska.
To narzędzie przydaje się jeśli przerzucamy całość na serwer produkcyjny.
Nie przerzucasz też wszystkich folderów. Środowisku produkcyjnemu potrzebne są foldery:
backend, common, frontend, vendor Pliki to mój dodatkowy folder
Pliki z katalogu głównego projektu nie należą do środowiska produkcyjnego.
Struktura folderów
Układ folderów mających znaczenie w wersji produkcyjnej
common folder zawierający części wspólne dla frontu i zaplecza
config zawiera pliki z parametrami konfiguracyjnymi - wspólne dla fontu i zaplecza
mail zawiera pliki widoków maili ( nie używam)
models zawiera pliki definiujące klasy modeli używane na froncie i zapleczu
backend folder zawierający elementy potrzebne do budowy zaplecza
assets zawiera plik konfigurujący dołączenie odpowiednich plików JavaScript i CSS
config zawiera pliki konfigurujące parametry zaplecza
controllers zawiera pliki definiujące klasy kontrolerów używane na zapleczu
models zawiera pliki definiujące klasy modeli używane na zapleczu
runtime w tym folderze tworzone są automatycznie różne pliki podczas uruchomienia aplikacji np: logi
views zawiera podfoldery z plikami widoków, formularzy dla każdego kontrolera
web jest to główny folder uruchomieniowy aplikacji zaplecza. Do tego folderu należy przypisać domenę (subdomenę) tak aby pozostałe foldery były poza zasięgiem serwera WWW
assets jest to folder w którym znajduje się cache plików css js i innych używanych przez różne widgety frameworka umieszczanych w folderach o losowych nazwach. Cała zawartość folderu można usunąć. System sam go odtworzy w momencie uruchamiania aplikacji.. Należy wyczyścić ten folder jeśli zmieniamy coś w plikach css i js widgetów.
frontend folder zawierający elementy potrzebne do budowy frontu
assets zawiera plik konfigurujący dołączenie odpowiednich plików JavaScript i CSS
config zawiera pliki konfigurujące parametry frontu
controllers zawiera pliki definiujące klasy kontrolerów używane na froncie
models zawiera pliki definiujące klasy modeli używane na froncie
runtime w tym folderze tworzone są automatycznie różne pliki podczas uruchomienia aplikacji np: logi
views zawiera podfoldery z plikami widoków, formularzy dla każdego kontrolera
web jest to główny folder uruchomieniowy aplikacji frontu. Do tego folderu należy przypisać domenę (subdomenę) tak aby pozostałe foldery były poza zasięgiem serwera WWW
assets jest to folder w którym znajduje się cache plików css js i innych używanych przez różne widgety frameworka umieszczanych w folderach o losowych nazwach. Cała zawartość folderu można usunąć. System sam go odtworzy w momencie uruchamiania aplikacji..
Należy wyczyścić ten folder jeśli zmieniamy coś w plikach css i js widgetów.
Folder vendor , zawiera wszystkie niezbędne biblioteki frameworka.
W tym folderze rzadko dokonuje się zmian treści plików.
Mogą być instalowane w nim różne rozszerzenia.
Pozostałe pliki zawierają różnorodne narzędzia developerskie wspomagające tworzenie aplikacji. I nie są dołączane do wersji produkcyjnej.

