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
PostControllerzawiera już akcjęlistjako domyślną akcje, podczas wchodzenia na stronę domową aplikacji zobaczymy rezultat wygenerowany przez akcjęlistkontrolera 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.