WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
CodeIgniter
Тип Программный каркас для создания веб-приложений
Автор EllisLab, Inc.
Разработчик British Columbia Institute of Technology
Написана на PHP[1]
Операционная система Кроссплатформенный
Последняя версия 3.1.10 (16 января 2019 г.)
Состояние в активной разработке
Лицензия CodeIgniter License Agreement[2]
Сайт codeigniter.com

CodeIgniter — популярный MVC фреймворк с открытым исходным кодом, написанный на языке программирования PHP, для разработки полноценных веб-систем и приложений. Разработан компанией EllisLab (англ.), а также Риком Эллисом (Rick Ellis) и Полом Бурдиком (Paul Burdick).

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

История

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

  1. CodeIgniter Core — ветка, которая делает акцент на стабильности, в связи с чем развивается медленно. Эта версия фреймворка является ядром популярной CMS ExpressionEngine 2.0.
  2. 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 отличает простота[4], которая достигается благодаря следующим факторам:
    • Качественная и полная документация с примерами, а также большое сообщество и Wiki[4][5]
    • Множество видео-уроков, которые можно найти как на официальном сайте, так и на сторонних ресурсах[6][7][8][9]
    • Фреймворк дает свободу программисту, не создавая каких-либо структурных ограничений и конвенций
    • Программисту не требуется учиться пользоваться генераторами кода из командной строки
  • CodeIgniter работает практически на любом хостинговом плане, который имеет поддержку PHP версии 5.1 и выше
  • CodeIgniter считается одним из быстрых и не требовательных к ресурсам фреймворков[5][10]

Возможности

  • Поддержка баз данных MySQL, PostgreSQL, MSSQL, SQLite, Oracle.
  • Поддержка псевдо-ActiveRecord, который по большей части повторяет синтаксис языка SQL
  • Легко расширяемая система за счет возможности использования сторонних и самописных библиотек, а также дополнения или переопределения существующих.
  • Поддержка как сегментированных ЧПУ, так и обычных URL-ов с передачей параметров.
  • Фреймворк содержит в себе множество необходимых библиотек, которые создают функциональность для работы с файлами, отправки электронных писем, валидации форм, поддержки сессий, работы с изображениями и так далее.
  • Обладает возможностью кеширования на стороне сервера SQL-запросов и генерируемых html-страниц. С версии 2.0 для кеширования могут использоваться XCache или APC.
  • В 2011 году появился менеджер пакетов под названием Sparks, который позволяет легко установить сторонние библиотеки с помощью командной строки.
  • В 2011 году появилось дополнение, которое делает возможным поддержку миграций.
  • Поддержка модульности (HMVC) с помощью дополнений
  • По умолчанию CodeIgniter не использует шаблонизаторы, но есть возможность использовать его собственный или один из альтернативных шаблонизаторов (Smarty, TinyButStrong[11]).

Примеры кода

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())

Критика фреймворка

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

Влияние CodeIgniter

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

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

На CodeIgniter основано множество CMS: Fuel CMS[14], MaxSite CMS[15], Cogear[16], ImageCMS и другие.

Ссылки

  • codeigniter.com (англ.) — Сайт фреймворка
  • codeigniter3.info  (рус.) — Активный проект перевода документации на русский язык
  • code-igniter.ru (рус.) — Документация на русском языке для версии 1.6.3
  • CodeLighter — Легковесный фреймворк использующий идеологию, синтаксис, модули и плагины Codeigniter’a
  • Sparks (англ.) — Сайт менеджера пакетов Sparks
  • philsturgeon.co.uk (англ.) — Блог Фила Старджена (Phil Sturgeon) — одного из активных разработчиков фреймворка
  • CodeIgniter на HackerOne - Исследование безопасности CodeIgniter на HackerOne

Проекты, выполненные на CodeIgniter

tranquillpoet.com (англ.) — IDE для поэтов, исходники доступны на GitHub

См. также

Примечания

  1. The codeigniter Open Source Project on Open Hub: Languages Page — 2006.
  2. CodeIgniter License Agreement
  3. CodeIgniter/license.rst at develop · bcit-ci/CodeIgniter · GitHub
  4. 1 2 CodeIgniter vs. CakePHP. Архивировано 29 февраля 2012 года. (рус.)
  5. 1 2 CodeIgniter vs Symfony. Архивировано 29 февраля 2012 года. (англ.)
  6. CodeIgniter Video Tutorials. Архивировано 29 февраля 2012 года. (англ.)
  7. CodeIgniter Video Tutorials By Community. Архивировано 29 февраля 2012 года. (англ.)
  8. CodeIgniter From Scratch. Архивировано 29 февраля 2012 года. (англ.)
  9. Easy Development With CodeIgniter. Архивировано 29 февраля 2012 года. (англ.)
  10. Benchmark update: Cake vs. CodeIgniter vs. Kohana. Pr0digy.com (3 сентября 2008). Проверено 24 июля 2009. Архивировано 29 февраля 2012 года. (англ.)
  11. TinyButStrong Template Engine Архивировано 10 марта 2010 года.
  12. FUEL — A simple, flexible, community driven PHP5.3 framework
  13. codelighter Codeigniter light! Simple, small and lightweight php5 codeigniter-like framework
  14. FUEL CMS: A Rapid Development CodeIgniter CMS
  15. Официальный сайт Maxsite CMS. Бесплатная система управления сайтом.
  16. cogear — система управления сайтами, бесплатная cms для социальной сети Архивировано 25 апреля 2016 года.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии