Końcowe dopieszczanie oraz wdrażanie
Zbliżamy się do zakończenia prac nad naszym blogiem. Zanim go wdrożymy chcielibyśmy dokonać kilku ulepszeń.
Zmiana strony domowej
Ustawimy stronę wyświetlająca listę wiadomości jako stronę domową. W tym celu zmienimy konfigurację aplikacji w następujący sposób,
return array( ...... 'defaultController'=>'post', ...... );
Wskazówka: Ponieważ kontroler
PostController
zawiera już akcjęindex
jako domyślną akcje, podczas wchodzenia na stronę domową aplikacji zobaczymy rezultat wygenerowany przez akcjęindex
kontrolera wiadomości.
Włączenie buforowania schematu bazy
Ponieważ rekord aktywny wykorzystuje metadane pochodzące z tabel w celu określenia informacji o kolumnach, zajmuje mu trochę czasu ich odczytanie oraz przeanalizowanie. Może to nie być problemem podczas fazy tworzenia aplikacji ale dla aplikacji działającej w trybie produkcyjnym, jest to totalne marnotrawstwo czasu, jeśli schemat bazy danych nie zmienia się. Dlatego też, włączymy buforowanie schematu poprzez zmodyfikowanie konfiguracji aplikacji w następujący sposób,
return array( ...... 'components'=>array( ...... 'cache'=>array( 'class'=>'CDbCache', ), 'db'=>array( 'class'=>'system.db.CDbConnection', 'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db', 'schemaCachingDuration'=>3600, ), ), );
W powyższym kodzie, najpierw dodaliśmy komponent buforowania cache
, który używa domyślnie bazy danych SQLite jako miejsce składowania bufora. Jeśli twój serwer jest wyposażony w inne rozszerzenie buforujące, takie jak APC, moglibyśmy przełączyć się równie dobrze na jego używanie. Zmodyfikujemy również komponent db
poprzez ustawienie jego właściwości schemaCachingDuration na wartość 3600, co oznacza, że przeanalizowane dane schematu bazy danych pozostaną ważne w buforze na okres 3600 sekund.
Wyłączanie trybu debugowania
Zmodyfikujemy plik wejściowy /wwwroot/blog/index.php
poprzez usunięcie linii definiującej stałą YII_DEBUG
. Stała ta jest użyteczna podczas fazy tworzenia, gdyż pozwala ona Yii wyświetlać więcej informacji użytecznych dla debugowania w przypadku wystąpienia błędu. Jednakże, jeśli aplikacja działa w trybie produkcyjnym, wyświetlanie takich informacji nie jest najlepszym pomysłem ponieważ mogą one zawierać wrażliwe informacje takie jak miejsce, gdzie skrypt się znajduje, oraz zawartość jego pliku, itp.
Wdrażanie aplikacji
Końcowy proces wdrażana polega głównie na kopiowaniu katalogu /wwwroot/blog
do docelowego katalogu. Następujący wykaz czynności kontrolnych pokazuje wszystkie potrzebne kroki:
- Zainstaluj Yii w docelowym miejscu jeśli nie jest ono jeszcze tam dostępne;
- Skopiuj całą zawartość katalogu
/wwwroot/blog
do miejsca docelowego; - Zmień plik skryptu wejściowego
index.php
poprzez wskazanie zmiennej$yii
na nowy plik rozruchowy (ang. bootstrap file); - Wyedytuj plik
protected/yiic.php
poprzez ustawienie zmiennej$yiic
wskazujące
na nowy plikyiic.php
; - Zmień uprawnienia do katalogów
assets
orazprotected/runtime
tak aby były one zapisywalne przez proces Web serwera.