Zbliżamy się do zakończenia prac nad naszym blogiem. Zanim go wdrożymy chcielibyśmy dokonać kilku ulepszeń.
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ęlist
jako domyślną akcje, podczas wchodzenia na stronę domową aplikacji zobaczymy rezultat wygenerowany przez akcjęlist
kontrolera wiadomości.
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ącek
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.
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 debuggowania 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.
Końcowy proces wdrażania aplikacji składa się głównie z kopiowania katalogu /wwwroot/blog
do katalogu docelowego. Następujący wykaz czynności kontrolnych pokazuje
wszystkie potrzebne kroki:
/wwwroot/blog
do miejsca docelowego;index.php
poprze wskazanie zmiennej $yii
na nowy plik rozruchowy (ang. bootstrap file);protected/yiic.php
poprzez ustawienie zmiennej $yiic
wskazująceyiic.php
;assets
oraz protected/runtime
tak aby były one
zapisywalne przez proces Web serwera.
Signup or Login in order to comment.