Структура папок CakePHP 3



В этой статье мы рассмотрим общую структуру папок и файлов фреймворка CakePHP 3, а так же подробнее узнаем их назначения. И так, после загрузки и установки приложения, вы увидите следующую структуру папок:

  • bin
  • config
  • logs
  • plugins
  • src
  • tests
  • tmp
  • vendor
  • webroot
  • .htaccess
  • composer.json
  • index.php
  • README.md

Подробнее о папках верхнего уровня:

  • В папке bin находятся исполняемые файлы Cake консоли;
  • Папка config содержит в себе несколько файлов конфигурации, которые используются в CakePHP. Сюда входят: организация соединения с базой данных, самонастройки (сессии, кэш и др.), файлы конфигурации ядра и прочие настройки.
  • В папке plugins находятся плагины, которые используются в вашем приложении;
  • logs - содержит в себе файлы журнала;
  • В папке src будут располагаться основные файлы приложения, в которых в основном вы будите работать. Эту папку ниже мы рассмотрим более подробно;
  • tests - папка размещения тестовых вариантов вашего приложения;
  • В папке tmp CakePHP хранит временные данные. Так же, хранение данных можно настроить вручную, что положительным образом скажется на быстродействии вашего приложения. По умолчанию используется для временного хранения истории моделей и информации о сессиях;
  • Папка vendor, это программное ядро CakePHP. Возьмите себе за правило, не вносить в этой папке никакие изменения.
  • Каталог webroot является публичным корневым каталогом документов вашего приложения. Он содержит все файлы, которые вы хотите оставить в публичном доступе (css файлы, изображения, javaScript файлы и пр).

Убедитесь, что папки tmp и logs доступны для записи, в противном случае производительность приложения может значительно снизиться. В режиме отладки, CakePHP предупредит вас, если папки для записи недоступны.

Папка src

Папка src в CakePHP является местом, где вы будете делать большую часть работы по созданию своего приложения. Она содержит в себе несколько подпапок:

Console
Содержит команды консоли и консольные задачи для вашего приложения. Дополнительную информацию можно посмотреть на официальном сайте кейка в разделе Shells, Tasks & Console Tools
Controller
Содержит контроллеры вашего приложения и их компоненты.
Locale
В этой папке размещаются файлы локализации, если ваше приложение будет поддерживать разные языки.
Model
Содержит файлы классов таблиц, моделей и поведения моделей.
View
Здесь размещены презентационные классы: модули (cells), хелперы и файлы шаблонов.
Template
Здесь размещены презентационные файлы: элементы, страницы ошибок, макеты, а также файлы шаблонов представления.