Spec-Zone.ru › CodeIgniter 4

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

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

Директории по умолчанию

После свежей установки имеется шесть директорий: /app, /system, /public, /writable, /tests и, возможно, /docs. Каждая из этих директорий выполняет очень специфическую роль.

app

Директория 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 уже использует пространства имен, вы можете свободно изменять структуру этой директории в соответствии с потребностями вашего приложения. Например, вы можете начать использовать паттерн Repository и Entity Models для работы с данными. В этом случае вы можете переименовать директорию Models в Repositories, и добавить новую директорию Entities.

Примечание

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

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

system

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

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

public

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

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

writable

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

tests

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

docs

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

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

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

Пожалуйста, прочитайте Управление вашими приложениями

© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/user_guide/concepts/structure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API