В данном разделе мы опишем создание основы приложения, которая будет служить
нашей отправной точкой. Для простоты, примем, что корневая директория нашего
веб-сервера — /wwwroot
, а соответствующий ей URL-адрес — http://www.example.com/
.
Сначала мы установим фрейморк. Скачаем копию архива релиза (версии
1.0.3 или выше) с сайта
www.yiiframework.com и распакуем в
директорию /wwwroot/yii
. Убедимся, что получили директорию
/wwwroot/yii/framework
.
Подсказка: Фреймворк Yii может быть установлен в любом месте файловой системы. Директория
framework
содержит весь код фреймворка и это единственная необходимая директория при развёртывании приложения. Одна копия Yii может использоваться несколькими приложениями.
После установки Yii откроем окно браузера и перейдем по адресу
http://www.example.com/yii/requirements/index.php
. Мы увидим анализатор
требований, поставляемый в релизе Yii. Убедимся, что наши веб-сервер и
установленная версия PHP соответствуют минимальным требованиям Yii. В
частности, мы должны включить расширения PHP pdo
и pdo_sqlite
, которые
требуются нашему блогу для доступа к БД SQLite.
Используем утилиту командной строки yiic
, идущую в комплекте с фреймворком,
для создания основы приложения в директории /wwwroot/blog
. yiic
может быть
использована для генерации кода для определенных задач.
Откроем окно командной строки и выполним следующую команду:
% /wwwroot/yii/framework/yiic webapp /wwwroot/blog Create a Web application under '/wwwroot/blog'? [Yes|No]y ......
Подсказка: Чтобы использовать утилиту
yiic
как показано выше, путь к PHP должен быть прописан в системной переменной PATH. Если это не так, то мы можем использовать следующую команду:путь/к/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog
Попробуем запустить только что созданное приложение. Откроем браузер и перейдем по
адресу http://www.example.com/blog/index.php
. Мы должны увидеть, что наше
приложение имеет 3 полнофункциональных страницы: Главная
, Контакты
и Вход
.
Ниже мы кратко опишем, что именно мы получили.
У нас есть файл входного скрипта /wwwroot/blog/index.php
:
$yii='/wwwroot/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // удалить следующую строку в режиме production defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); Yii::createWebApplication($config)->run();
Это единственный скрипт, к которому пользователи имеют прямой доступ. Сначала
скрипт подключает файл начальной загрузки yii.php
. Затем создает экземпляр
приложения с определенными настройками
и выполняет приложение.
Также, у нас есть
базовая директория приложения
/wwwroot/blog/protected
. Большая часть нашего кода и данных будет храниться
в этой директории и должна быть защищена от прямого доступа веб-пользователей.
Для веб-сервера Apache мы помещаем в эту директорию
файл .htaccess
со следующим содержанием:
deny from all
Инструкции по настройке защиты директории от прямого доступа для других веб-серверов вы можете найти в соответствующей документации.
Чтобы понять работу Yii, опишем последовательность работы нашего приложения при
обращении пользователя к странице Контакты
:
/wwwroot/blog/protected/config/main.php
начальными значениями создаётся экземпляр приложения;Контакты
обрабатывается действием contact
контроллера site
;site
(экземпляр класса SiteController
)
и выполняет его;contact
(метод actionContact()
класса SiteController
);actionContact()
выводит представление
contact
. При этом подключается файл представления
/wwwroot/blog/protected/views/site/contact.php
и результат его выполнения
подставляется в макет
/wwwroot/blog/protected/views/layouts/main.php
.
Signup or Login in order to comment.