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