Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursach_ver_1_00.docx
Скачиваний:
183
Добавлен:
13.04.2015
Размер:
1.57 Mб
Скачать

Раздел 4. CodeIgniter

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

Наиболее известными фреймворками для PHPявляютсяCakePHP(http://www.cake-php.ru),Kohana(http://kohanaframework.org),CodeIgniter(http://www.codeigniter.ru),Zend(http://www.framework.zend.com). Все они направлены на помощь разработчику и каждый из них имеет свои плюсы и минусы.

Для создания веб-сайта выбор был сделан в пользу CodeIgniter.

Основой работы CodeIgniterявляется использование подходаMVC(Model-View-Controller, Рис.1) - архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие. ШаблонMVCпозволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента.

Контроллер (Controller) отправляет запрос в модель (Model), которая изменяет своё состояние и предоставляет данные. Представление (View) отвечает за отображение информации. Поведение (Controller) интерпретирует данные, которые вводились пользователем, и информируют модель и представление о необходимости соответствующей реакции.

Рис.1. MVC-модель.

Без применения CodeIgniterи дополнительных библиотек, содержащих регулярные выражения, ссылки, по которым осуществляется переход на другие страницы, будут иметь примерно такой вид:http://mathmod.aspu.ru/?id=2. Такие ссылки непонятны пользователю и плохо запоминаются. С помощьюCodeIgniter, возможно построение ЧПУ - понятного для человека представленияURL(UniformResourceLocator).

Например, http://test.nn/tests/index/1 - в этой ссылке каждый сегмент имеет своё значение:tests- контроллер, к которому идёт обращение,index- метод соответствующего контроллера, 1 - переменная, передающаяся в указанный метод (в данном случае при переходе по ссылке будет произведен запуск теста с идентификатором "1"). Использование таких ссылок даёт несколько преимуществ. Помимо того, что эти ссылки будут легко читаемы и запоминаемы, они оказывают влияние на выдачу сайта в поисковых системах.

Фреймворк CodeIgniterобладает следующими особенностями:

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

  • считается одним из быстрых и не требовательных к ресурсам фреймворков. Основное ядро CodeIgniterтребует небольшого количества библиотек. Дополнительные библиотеки загружаются динамически по запросу, в зависимости от потребностей в тот или иной момент, так что ядро остается очень гибким и быстрым;

  • Малый размер дистрибутива;

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

CodeIgniterобладает такими возможностями, как:

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]