Суббота, 18.05.2024
VadimOlga.at.ua
Меню сайта
Категории раздела
HTML [9]
HTML
Языки разметки [44]
Языки разметки
PHP [14]
PHP
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2016 » Октябрь » 2 » CodeIgniter
10:37
CodeIgniter
CodeIgniter — популярный MVC фреймворк с открытым исходным кодом, написанный на языке программирования PHP, для разработки полноценных веб-систем и приложений. Разработан компанией EllisLab (англ.)русск., а также Риком Эллисом (Rick Ellis) и Полом Бурдиком (Paul Burdick).

Текущая стабильная версия CodeIgniter’а (CodeIgniter 2.x), как и более ранние версии, распространяются под проприетарной лицензией в стиле Apache/BSD, однако разрабатываемая сейчас ветвь CodeIgniter 3 перелицензирована под MIT.

История


Первый публичный релиз фреймворка произошёл 28 февраля 2006 года. С выходом версии 2.0 28-го января 2011 года CodeIgniter разделился на две ветки:


CodeIgniter Core — ветка, которая делает акцент на стабильности, в связи с чем развивается медленно. Эта версия фреймворка является ядром популярной CMS ExpressionEngine 2.0.

CodeIgniter Reactor — ветка, которую развивает сообщество. Эта ветка развивается быстро и содержит самые новые возможности.

9 июля 2013 года компания-разработчик в своём блоге разместила пост о поиске нового владельца для фреймворка EllisLab Seeking New Owner for CodeIgniter.

6 октября 2014 года EllisLab объявил, что CodeIgniter продолжит своё развитие под руководством Технологического Института Британской Колумбии.

30 марта 2015 года вышла версия CodeIgniter 3.0.0

Изменения версии:


Каркас выпущен под лицензией MIT

Драйверы баз данных имели огромный рефакторинг

PDO является полностью функциональной с subdrivers

Появилась новая библиотека сессии

Появилась новая библиотека шифрования

Блок тестирования был доукомплектован, и покрытие кода улучшилось

Для работы рекомендуется PHP 5.4 или новее, но Codeigniter по-прежнему будет работать на PHP 5.2.4

8 октября 2015 года вышла версия CodeIgniter 3.0.2

31 октября 2015 года был выпущен CodeIgniter 2.2.6, и выпуск безопасности для 2.x версий.

Изменения в версии:


Исправлены ​​XSS уязвимости в библиотеке безопасности метода xss_clean ().

Изменен метод конфигурации библиотеки base_url (), возврат к $ _SERVER ['server_addr'] для того, чтобы избежать инъекции заголовка узла.

Изменен помощник CAPTCHA.

Это последнее планируемое обновление для CodeIgniter 2x, которое достигло окончании срока службы.

1 ноября 2015 года была выпущена версия CodeIgniter 3.0.3 с патчами и некоторыми мелкими деталями. Это версия рекомендуется для всех пользователей версии 3x.

Особенности



CodeIgniter отличает простота, которая достигается благодаря следующим факторам:

Качественная и полная документация с примерами, а также большое сообщество и Wiki

Множество видео-уроков, которые можно найти как на официальном сайте, так и на сторонних ресурсах

Фреймворк дает свободу программисту, не создавая каких-либо структурных ограничений и конвенций

Программисту не требуется учиться пользоваться генераторами кода из командной строки

CodeIgniter работает практически на любом хостинговом плане, который имеет поддержку PHP версии 5.1 и выше

CodeIgniter считается одним из быстрых и не требовательных к ресурсам фреймворков

Малый размер дистрибутива (размер версии 2.1.1 составляет всего 2.2 МБ)

Фреймворк позволяет отказаться от моделей (несмотря на то, что это не приветствуется и не является хорошей практикой)

Документация CodeIgniter пропагандирует «толстые» контроллеры и «тонкие» модели. Валидация и построение бизнес-логики происходят в основном в контроллере. Несмотря на это, фреймворк дает свободу разработчику, поэтому он может самостоятельно выбрать подход к разработке приложения

Возможности



Поддержка баз данных MySQL, PostgreSQL, MSSQL, SQLite, Oracle.

Поддержка псевдо-ActiveRecord, который по большей части повторяет синтаксис языка SQL

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

Поддержка как сегментированных ЧПУ, так и обычных URL-ов с передачей параметров.

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

Обладает возможностью кеширования на стороне сервера SQL-запросов и генерируемых html-страниц. С версии 2.0 для кеширования могут использоваться XCache или APC.

В 2011 году появился менеджер пакетов под названием Sparks, который позволяет легко установить сторонние библиотеки с помощью командной строки.

В 2011 году появилось дополнение, которое делает возможным поддержку миграций.

Поддержка модульности (HMVC) с помощью дополнений

Несмотря на отсутствие ORM в стандартом пакете, существует возможность использования PHP ActiveRecord, Doctrine, Propel и некоторых других ORM после небольших изменений или дополнений в исходном коде фреймворка

По умолчанию CodeIgniter не использует шаблонизаторы, но есть возможность использовать его собственный или один из альтернативных шаблонизаторов (Smarty, TinyButStrong).

Примеры кода


Active Record

Выбрать все из таблицы

$this->db->get('table_name');

Эквивалент SQL:

SELECT * FROM `table_name`

Пример с операторами JOIN и LIMIT =

public function getData($id = 0, $offset = 0, $limit = 30) {
$result = $this->db->select('table1.id, table2.name')
->from('table1')
->join('table2', 'table2.id=table1.id', 'left');
if ($id)
return $result->where('table1.id', (int)$id)->limit(1)->get()->row();
else
return $result->limit($limit, $offset)->get()->result();
}

Сценарий 1 (когда $id = 0):

Данные: $id = 0, $offset= 10, $limit = 30

SQL на выходе:

SELECT table1.id, table2.name
FROM table1
LEFT JOIN table2 ON table2.id = table1.id
LIMIT 10, 30


Функция вернет массив объектов. (db->result())

Сценарий 2 ($id отличен от нуля):

Данные: $id = 5, $offset = 0, $limit = 30

SQL на выходе:

SELECT table1.id, table2.name
FROM table1
LEFT JOIN table2 ON table2.id = table1.id
WHERE table1.id = 5
LIMIT 1


Функция вернет один объект (db->row())

c]Критика фреймворка
[/c]

Question book-4.svg



Иногда CodeIgniter критикуют за необычную с точки зрения объектно-ориентированного проектирования архитектуру.

Некоторые приверженцы CakePHP считают, что свобода, предоставляемая программисту в CodeIgniter, поощряет расхлябанный стиль программирования.

Модели в CodeIgniter по умолчанию не поддерживают ORM.

Класс для работы с базами данных практически невозможно расширять и изменять из-за плохо продуманной архитектуры.

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

Влияние CodeIgniter


CodeIgniter послужил базой для таких фреймворков, как Kohana и Rain Framework (англ.)русск., многие идеи CodeIgniter применены во фреймворках Fuel PHP и CodeLighte.

Фреймворк Kohana изначально был ветвью CodeIgniter и был создан с целью использования всех возможностей PHP5 с сохранением простоты и высокой производительности CodeIgniter. Он отличался от CodeIgniter отсутствием поддержки PHP4 и наличием некоторых дополнительных библиотек (ORM, Auth и других). Если версии Kohana 2.x все ещё чем-то были схожи с CodeIgniter, то современные версии (3.x) фактически не имеют с ним ничего общего, кроме истории.

На CodeIgniter основано множество CMS: Fuel CMS, MaxSite CMS, Cogear, PyroCMS, ImageCMS и другие.
Категория: PHP | Просмотров: 384 | Добавил: Baron | Теги: CodeIgniter | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт
Поиск
Календарь
«  Октябрь 2016  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • База знаний uCoz
  • VadimOlga.at.ua © 2024