Установка CakePHP может быть и сногсшибательно проста, как простое копирование в вашу корневую директорию на веб-сервере, так и максимально гибка и настраиваема, как вы пожелаете. В этом разделе мы охватим три варианта установки Cake: для программиста, для одного сайта и расширенную установку.
Просто поместите распакованный архив с CakePHP внутрь вашей корневой директории (webroot). Например, если для вебсервера является корнем путь /var/www/html, то файлы Cake должны располагаться таким образом:
Чтобы увидеть как работает Cake, наберите в браузере http://www.example.com/cake/.
Чтобы установить CakePHP таким образом — вам необходимо иметь права на изменение корневой веб-директории вашего сервера. Эти изменения приведут к тому что весь ваш сайт будет работать как единое CakePHP приложение.
При такой установке используется следующая схема расположения файлов:
Если ваше приложение устанавливается на сервере Apache, то директиву DocumentRoot необходимо установить следующим образом:
DocumentRoot /path_to_cake_install/app/webroot
Чтобы увидеть как работает Cake, наберите в браузере http://www.example.com.
Может возникнуть ситуация, когда вам будет необходимо установить части CakePHP в разные директории, или даже на разные диски в системе. Это может быть связано с ограничениями хостинга или с тем, что вы хотите заставить работать несколько сайтов с одним ядром Cake.
Для начала вам необходимо узнать, что существуют три независимые части CakePHP:
Каждая из этих директорий может быть расположена в любом месте системы, за исключением webroot, которая обязательно должна быть доступна с точки зрения директивы Document Root. Можно вынести папку webroot за пределы папки app, вы потом расскажете системе где искать ее части.
Чтобы указать системе где хранятся ее части — надо немного изменить файл /app/webroot/index.php. Есть три константы, значения которых нужно поменять: ROOT, APP_DIR и CAKE_CORE_INCLUDE_PATH.
Давайте проверим вышеописанное на примере. Предположим, я захотел установить CakePHP следующим образом:
Учитывая все мои пожелания необходимо изменить файл webroot/index.php (который в примере расположен в /var/www/mysite/index.php) следующим образом:
if (!defined('ROOT')) { define('ROOT', DS.'home'.DS.'me');
}
if (!defined('APP_DIR')) {
define ('APP_DIR', 'mysite');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib'.DS.'cake');
}
Рекомендуется использовать константу DS вместо косой черты (/) для разделения директорий. За счет этого у вас не возникнет проблем при переносе кода с одной операционной системы на другую.
Если вам необходимо разделить части MVC архитектуры между несколькими приложениями на CakePHP, то вы можете в файле bootstrap.php указать пути, по которым следует искать ваши Модели, Контроллеры или Отображения, а так же помогающие им Поведения, Компоненты и Помощники.
Вот несколько переменных, которые можно определить в файле bootstrap.php для выполнения этой задачи:
$viewPaths = array();$controllerPaths = array();
$modelPaths = array();
$helperPaths = array();
$componentPaths = array();
$behaviorPaths = array();
Элементами массива могут быть так же полные пути в файловой системе. Не забудьте поставить слеш в конце каждого пути.
Хотя CakePHP и настроен изначально таким образом чтобы работать сразу с mod_rewrite — мы заметили что у некоторых пользователей не выходит получить красивые URL-адреса, и они ведут непримиримую борьбу с настройками. Вот несколько советов, которые помогут заставить работать все так, как вам бы того хотелось:
Хорошо, давайте посмотрим на CakePHP в действии. В зависимости от вашей установки наберите в браузере http://example.com/ или http://example.com/cake_install/. На текущий момент перед вами предстанет страница домашняя страница CakePHP с информацией о настройке базы данных и кеширования.
Поздравляем! Теперь вы готовы к созданию первого приложения на CakePHP!