Учебники

CodeIgniter — Архитектура приложения

Архитектура приложения CodeIgniter показана ниже.

Архитектура CodeIgniter

  • Как показано на рисунке, всякий раз, когда запрос приходит в CodeIgniter, он сначала переходит на страницу index.php .

  • На втором этапе маршрутизация решает, передавать ли этот запрос шагу 3 для кэширования или передавать этот запрос шагу 4 для проверки безопасности.

  • Если запрашиваемая страница уже находится в режиме кэширования , служба маршрутизации передаст запрос этапу 3, а ответ вернется к пользователю.

  • Если запрашиваемая страница не существует в кэшировании , то служба маршрутизации передает запрашиваемую страницу на шаг 4 для проверки безопасности .

  • Перед передачей запроса в Application Controller проверяется безопасность представленных данных. После проверки безопасности контроллер приложений загружает необходимые модели, библиотеки, помощники, плагины и скрипты и передает их в View .

  • Вид отобразит страницу с доступными данными и передаст ее для кэширования . Поскольку запрашиваемая страница ранее не кэшировалась, поэтому на этот раз она будет кэширована в Caching , чтобы быстро обработать эту страницу для будущих запросов.

Как показано на рисунке, всякий раз, когда запрос приходит в CodeIgniter, он сначала переходит на страницу index.php .

На втором этапе маршрутизация решает, передавать ли этот запрос шагу 3 для кэширования или передавать этот запрос шагу 4 для проверки безопасности.

Если запрашиваемая страница уже находится в режиме кэширования , служба маршрутизации передаст запрос этапу 3, а ответ вернется к пользователю.

Если запрашиваемая страница не существует в кэшировании , то служба маршрутизации передает запрашиваемую страницу на шаг 4 для проверки безопасности .

Перед передачей запроса в Application Controller проверяется безопасность представленных данных. После проверки безопасности контроллер приложений загружает необходимые модели, библиотеки, помощники, плагины и скрипты и передает их в View .

Вид отобразит страницу с доступными данными и передаст ее для кэширования . Поскольку запрашиваемая страница ранее не кэшировалась, поэтому на этот раз она будет кэширована в Caching , чтобы быстро обработать эту страницу для будущих запросов.

Структура каталогов

Изображение, приведенное ниже, показывает структуру каталогов CodeIgniter.

Структура каталогов

Структура каталогов CodeIgniter разделена на 3 папки —

  • заявка
  • система
  • Гид пользователя

заявка

Как видно из названия, папка Application содержит весь код вашего приложения, которое вы создаете. Это папка, в которой вы будете развивать свой проект. Папка приложения содержит несколько других папок, которые описаны ниже —

  • Кэш — эта папка содержит все кэшированные страницы вашего приложения. Эти кэшированные страницы увеличат общую скорость доступа к страницам.

  • Config — эта папка содержит различные файлы для настройки приложения. С помощью файла config.php пользователь может настроить приложение. Используя файл database.php , пользователь может настроить базу данных приложения.

  • Контроллеры — эта папка содержит контроллеры вашего приложения. Это основная часть вашего приложения.

  • Core — эта папка будет содержать базовый класс вашего приложения.

  • Помощники — в эту папку вы можете поместить вспомогательный класс вашего приложения.

  • Хуки — файлы в этой папке предоставляют возможность подключиться и изменить внутреннюю работу фреймворка без взлома основных файлов.

  • Язык — эта папка содержит файлы, связанные с языком.

  • Библиотеки — эта папка содержит файлы библиотек, разработанных для вашего приложения.

  • Журналы — эта папка содержит файлы, относящиеся к журналу системы.

  • Модели — логин базы данных будет размещен в этой папке.

  • Third_party — в этой папке вы можете разместить любые плагины, которые будут использоваться для вашего приложения.

  • Представления — HTML-файлы приложения будут размещены в этой папке.

Кэш — эта папка содержит все кэшированные страницы вашего приложения. Эти кэшированные страницы увеличат общую скорость доступа к страницам.

Config — эта папка содержит различные файлы для настройки приложения. С помощью файла config.php пользователь может настроить приложение. Используя файл database.php , пользователь может настроить базу данных приложения.

Контроллеры — эта папка содержит контроллеры вашего приложения. Это основная часть вашего приложения.

Core — эта папка будет содержать базовый класс вашего приложения.

Помощники — в эту папку вы можете поместить вспомогательный класс вашего приложения.

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

Язык — эта папка содержит файлы, связанные с языком.

Библиотеки — эта папка содержит файлы библиотек, разработанных для вашего приложения.

Журналы — эта папка содержит файлы, относящиеся к журналу системы.

Модели — логин базы данных будет размещен в этой папке.

Third_party — в этой папке вы можете разместить любые плагины, которые будут использоваться для вашего приложения.

Представления — HTML-файлы приложения будут размещены в этой папке.

система

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

Эта папка содержит весь последующий код CodeIgniter, организованный в различные папки —

  • Core — эта папка содержит базовый класс CodeIgniter. Не изменяйте здесь ничего. Вся ваша работа будет проходить в папке приложения. Даже если ваше намерение состоит в том, чтобы расширить ядро ​​CodeIgniter, вы должны сделать это с помощью ловушек, и ловушки живут в папке приложения.

  • База данных — папка базы данных содержит основные драйверы базы данных и другие утилиты базы данных.

  • Fonts — папка Fonts содержит информацию о шрифтах и ​​утилиты.

  • Помощники . Папка помощников содержит стандартные помощники CodeIgniter (такие как помощники по дате, cookie и URL).

  • Язык — языковая папка содержит языковые файлы. Вы можете игнорировать это сейчас.

  • Библиотеки . Папка библиотек содержит стандартные библиотеки CodeIgniter (чтобы помочь вам с электронной почтой, календарями, загрузкой файлов и многим другим). Вы можете создавать свои собственные библиотеки или расширять (и даже заменять) стандартные, но они будут сохранены в каталоге application / library, чтобы отделить их от стандартных библиотек CodeIgniter, сохраненных в этой конкретной папке.

Core — эта папка содержит базовый класс CodeIgniter. Не изменяйте здесь ничего. Вся ваша работа будет проходить в папке приложения. Даже если ваше намерение состоит в том, чтобы расширить ядро ​​CodeIgniter, вы должны сделать это с помощью ловушек, и ловушки живут в папке приложения.

База данных — папка базы данных содержит основные драйверы базы данных и другие утилиты базы данных.

Fonts — папка Fonts содержит информацию о шрифтах и ​​утилиты.

Помощники . Папка помощников содержит стандартные помощники CodeIgniter (такие как помощники по дате, cookie и URL).

Язык — языковая папка содержит языковые файлы. Вы можете игнорировать это сейчас.

Библиотеки . Папка библиотек содержит стандартные библиотеки CodeIgniter (чтобы помочь вам с электронной почтой, календарями, загрузкой файлов и многим другим). Вы можете создавать свои собственные библиотеки или расширять (и даже заменять) стандартные, но они будут сохранены в каталоге application / library, чтобы отделить их от стандартных библиотек CodeIgniter, сохраненных в этой конкретной папке.

Гид пользователя

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

Помимо этих трех папок, есть еще один важный файл с именем « index.php ». В этом файле мы можем установить среду приложения и уровень ошибок, а также определить имя папки системы и приложения. Рекомендуется не редактировать эти настройки, если у вас недостаточно знаний о том, что вы собираетесь делать.