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ęindex
jako domyślną akcje, podczas wchodzenia na stronę domową aplikacji zobaczymy rezultat wygenerowany przez akcjęindex
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ą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.
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.
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:
/wwwroot/blog
do miejsca docelowego;index.php
poprzez 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.
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.