Как стать автором
Обновить

Несколько сайтов на одном движке CakePHP

Время на прочтение 2 мин
Количество просмотров 1.2K
И так. Объясняю популярно. Ибо сам пока разобрался потратил ни 10 минут. Делаем на примере условного сайта "Travel".
  • Движок CakePHP [cakephp/cake и cakephp/vendors] я перенёс(!) в /var/www/cake.core (/var/www у меня apache wwwroot) — то есть, этот движок будет использоваться для всех проектов и не будет меняться до следующей версии CakePHP.
  • Содержимое cakephp/app/webroot переносим(!) в /var/www/travel (в этой папке у нас будут все css, images, js, uploads и т.д.)
  • Всё из cakephp/app (там уже нет webroot, мы его прошлым шагом от туда перенесли) переносим(!) в /var/www/travel.app (там у нас будет вся логика и темплейты. MVC то есть).




Конфигурация.


Тут всё просто (как оказалось). Открываем файл /var/www/travel/index.php и редактируем следующий блок (комментарии удалены):
if (!defined('ROOT')) {
define('ROOT', dirname(dirname(dirname(__FILE__))));
}

if (!defined('APP_DIR')) {
define('APP_DIR', basename(dirname(dirname(__FILE__))));
}

if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', ROOT);
}

что бы он выглядел вот так:
// Тут просто указываем полный(!) путь до apache wwwroot
if (!defined('ROOT')) {
define('ROOT', DS . 'var' . DS . 'www');
}

// Относительны(!) путь к логике
if (!defined('APP_DIR')) {
define('APP_DIR', 'travel.app');
}

// Полный(!) путь до нашего движка
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', DS . 'var' . DS . 'www' . DS . 'cake.core');
}


Теперь в броузере пишем localhost/travel и видим тестовый экран CakePHP, в котором нам рассказывают что у нас всё подключено и работает.

Соответственно для новых сайтов, делаем копии /travel и /travel.app (или всё с самого начала из «чистого» cakePHP), настраиваем /travel/index.php и радуемся полученному результату.

P.S. Да, да, это в принципе перевод куска мануала по cakePHP, но либо я тупой, либо написано там криво, но мне пришлось слегка помучиться что бы получить то что получилось. И да, cakePHP я изучаю всего несколько часов, так что не судите строго.
Кстати, если тут есть опытные или начинающие пользователи cakePHP, то я бы с большим удовольствием установил с вами контакт, ибо вместе и проще и быстрее.
Теги:
Хабы:
+1
Комментарии 7
Комментарии Комментарии 7

Публикации

Истории

Работа

PHP программист
175 вакансий

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн