Свежайшие Пирожки от CakePHP по-русски

Полнейшее руководство CakePHP 1.2 на русском языке, горячие новости и полезные статьи

Расширенная установка

Иногда бывают ситуации, когда вам необходимо, чтобы папки CakePHP лежали в разных местах на фаловой системе. Этот раздел описывает, как настроить такое CakePHP приложение.

Для начала, вот основные 3 папки Cake приложения:

  1. Основные библиотеки CakePHP , лежат в /cake.
  2. Код вашего приложния, в /app.
  3. Папка с ресурсами(css, js, image файлы) обычно в /app/webroot.

Каждая из этих директория может лежать где угодно на вашей файловой системе, исключение папка webroot, она должна быть доступна вашему веб серверу. Вы можете также вынести папку webroot из диретори app, только обязательно нужно сказать  Cake куда вы ее засунули.

Для настройки Cake, вы должны сделать небольшие изменения в /app/webroot/index.php. Здесь находятся 3 константы, которые вы должны изменить: ROOT, APP_DIR  и CAKE_CORE_INCLUDE_PATH.
  • ROOT  должна содержать путь к папке, где лежит ваша диретория  app .
  • APP_DIR тут должно храниться название вашей директории  app .
  • CAKE_CORE_INCLUDE_PATH должна содержать путь к папке где лежит библиотеки CakePHP .

Давайте перейдем от теории к практике,  допустим я хочу чтобы CakePHP работал следующим образом:

  • Основные библиотеки CakePHP лежат в /usr/lib/cake.
  • Папка webroot  будет находться здесь /var/www/mysite/.
  • Директория  app в /home/me/mysite.

Чтобы настроить свое приложения, я буду править файл my webroot/index.php: 

Простой текст
  1. // /app/webroot/index.php
  2. if (!defined('ROOT')) {
  3. define('ROOT', DS.'home'.DS.'me');
  4. }
  5. if (!defined('APP_DIR')) {
  6. define ('APP_DIR', 'mysite');
  7. }
  8. if (!defined('CAKE_CORE_INCLUDE_PATH')) {
  9. define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib'.DS);
  10. }

Рекомендуем использовать константу DS сместо слешей в путях к файлам.