Дизайн и архитектурные цели
Наша цель для CodeIgniter это максимум производительности, совместимость, гибкость в минимальнейшем и легчайшем, насколько возможно, пакете.
Чтобы достичь этих целей мы делали тестирование производительности, рефакторинг и упрощение каждого шага процесса разработки, отказавшись от всего, что далее заявленной цели.
С технической и архитектурной точек зрения, CodeIgniter был создан со следующими целями:
- Динамическое инстанцирование. В CodeIgniter компоненты загружаются и выполняется обработка только при запросе, а не глобально. Не делается никаких предположений насчет того, какие системные ресурсы требуются минимально, поэтому система должна быть очень легкой по умолчанию. События, определяемые HTTP-запросами, контроллеры и отображения, которые вы разрабатываете будут определять, что требуется.
- Слабая связь. Связывание это степень, в которой компоненты системы зависят друг от друга. Меньшая связь между компонентами увеличивает гибкость системы. Наша цель заключается в получении очень слабосвязанной системы.
- Специализация компонентов Специализация это степень, с которой компонент сосредоточен на своей цели. В CodeIgniter каждый класс и его функции являются высокоавтономными, чтобы дать максимум пользы.
CodeIgniter — это динамически инстанцируемая слабосвязная система с высокой специализацией компонентов. Он стремиться к простоте, гибкости и высокой производительности при небольших размерах пакета.