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ęindexjako domyślną akcje, podczas wchodzenia na stronę domową aplikacji zobaczymy rezultat wygenerowany przez akcjęindexkontrolera 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.