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
PostControllerzawiera już akcjęindexjako domyślną akcje, podczas wchodzenia na stronę domową aplikacji zobaczymy rezultat wygenerowany przez akcjęindexkontrolera 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/blogdo miejsca docelowego; - Zmień plik skryptu wejściowego
index.phppoprzez wskazanie zmiennej$yiina nowy plik rozruchowy (ang. bootstrap file); - Wyedytuj plik
protected/yiic.phppoprzez ustawienie zmiennej$yiicwskazujące
na nowy plikyiic.php; - Zmień uprawnienia do katalogów
assetsorazprotected/runtimetak aby były one zapisywalne przez proces Web serwera.