Структура приложения

Чтобы получить максимальную отдачу от CodeIgniter, вам необходимо понимать, как приложение структурировано по умолчанию и что вы можете изменить в соответствии с потребностями вашего приложения.

Каталоги по умолчанию

Свежие установки имеют шесть каталогов: /app/system/public/writable/testsи , возможно /docs. У каждого из этих каталогов есть своя особая роль.

приложение

В appкаталоге находится весь код вашего приложения. Это идет со структурой каталогов по умолчанию, которая хорошо работает для многих приложений. Следующие папки составляют основное содержимое:

/app
        /Config         Stores the configuration files
        /Controllers    Controllers determine the program flow
        /Database       Stores the database migrations and seeds files
        /Filters        Stores filter classes that can run before and after controller
        /Helpers        Helpers store collections of standalone functions
        /Language       Multiple language support reads the language strings from here
        /Libraries      Useful classes that don't fit in another category
        /Models         Models work with the database to represent the business entities.
        /ThirdParty     ThirdParty libraries that can be used in application
        /Views          Views make up the HTML that is displayed to the client.

Поскольку appкаталог уже имеет пространство имен, вы можете свободно изменять структуру этого каталога в соответствии с потребностями вашего приложения. Например, вы можете решить начать использовать шаблон репозитория и модели сущностей для работы с вашими данными. В этом случае вы можете переименовать Modelsкаталог в Repositoriesи добавить новый Entitiesкаталог.

Заметка

Однако, если вы переименуете Controllersкаталог, вы не сможете использовать автоматический метод маршрутизации к контроллерам, и вам нужно будет определить все свои маршруты в файле маршрутов.

Все файлы в этом каталоге Appнаходятся в пространстве имен, хотя вы можете изменить это в app / Config / Constants.php .

система

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

Все файлы в этом каталоге находятся в CodeIgniterпространстве имен.

общественный

Публичная папка содержит часть вашего веб — приложения браузера доступны, предотвращения прямого доступа к исходному коду. Он содержит основной файл .htaccess , index.php и любые добавленные вами ресурсы приложения, такие как CSS, javascript или изображения.

Эта папка должна быть «веб-корнем» вашего сайта, и ваш веб-сервер будет настроен так, чтобы указывать на нее.

записываемый

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

тесты

Этот каталог создан для хранения ваших тестовых файлов. В _supportкаталоге хранятся различные фиктивные классы и другие утилиты, которые вы можете использовать при написании тестов. Этот каталог не нужно переносить на ваши производственные серверы.

документы

Если этот каталог является частью вашего проекта, он содержит локальную копию Руководства пользователя CodeIgniter4.

Изменение расположения каталогов

Если вы переместили какой-либо из основных каталогов, вы можете изменить параметры конфигурации внутри app/Config/Paths.

Добавить комментарий