Лабораторная работа №4
Разработка сайта с использованием MVC фреймворка
Цель работы: получить практические разработки модулей приложений с помощью Фреймворка CodeIgniter.
Теоретические сведения
MVC Фреймворк
Model-view-controller (Паттерн модель-представление-контроллер) используется очень давно. Еще в 1979 году его описал Тригве Реенскауг в своей работе «Разработка приложений на Smalltalk-80: как использовать Модель-представление-контроллер». С тех пор паттерн зарекомендовал себя как очень удачная архитектура программного обеспечения.
Пользователь, работая с интерфейсом, управляет контроллером, который перехватывает действия пользователя. Далее контроллер уведомляет модель о действиях пользователя, тем самым изменяя состояние модели. Контроллер также уведомляет представление. Представление, используя текущее состояние модели, строит пользовательский интерфейс.Основой паттерна является отделение модели данных приложения, его логики и представления данных друг от друга. Таким образом, следуя правилу «разделяй и властвуй», удается строить стройное программное обеспечение, в котором, во-первых, модель не зависит от представления и логики, а во-вторых, пользовательский интерфейс надежно отделен от управляющей логики.
На данный момент паттерн MVC реализован в том или ином виде для большинства языков программирования используемых для разработки web-приложений. Самое большое количество реализаций имеет PHP, но и для Java, Perl, Python, Ruby есть свои варианты.
«M» или модель – часть MVC-системы, которая отвечает за запросы к базе данных (или другому внешнему источнику) и предоставление информации контроллеру. Можно было бы загружать необходимую модель в зависимости от запроса, но возможно немного стереть границы между моделью и контроллером, т.е. контроллер работает с БД непосредственно через библиотеку взаимодействия с БД, нежели чем через отдельную модель.
Codeigniter
CodeIgniter — открытый фреймворк написанный на PHP для разработки полноценных веб-систем и приложений. Разработан компанией EllisLab, а также Риком Эллисом (Rick Ellis) и Полом Бурдиком (Paul Burdick).
Фреймворк – это готовый каркас для приложений, которые будут строиться на его основе. В этот каркас включены наиболее часто используемые библиотеки. Можно при написании каждого нового приложения изобретать велосипед с распределением его основных модулей, структурой директорий, классами обработки основных компонентов и т.п., а можно воспользоваться готовым универсальным решением.
CodeIgniter является инструментарием для тех, кто строит веб-приложения на PHP. Его цель в том, чтобы позволить вам разрабатывать приложения быстрее, чем если бы вы писали код с нуля, предоставляя богатый набор библиотек для часто используемых задач, а также простой интерфейс и логическую структуру для доступа к этим библиотекам. CodeIgniter позволяет творчески сосредоточиться на ваших проектах, используя минимальный объема кода, необходимый для той или иной задачи.
CodeIgniter обладает рядом значительных плюсов перед другими веб-фреймворками, например:
- используется модель MVC (Модель-Отображение-Контроллер), хорошо зарекомендовавшая себя при разработке приложений самой разной направленности;
- поддерживается множество баз данных (MySQL, PostgreSQL, MSSQL, SQLite, Oracle);
- отлично написанная документация с примерами позволит быстро освоить фреймворк;
- CodeIgniter очень быстр в работе. Его считают эталоном скорости генерации страниц.
Пример – разработка с помощью CodeIgniter простого приложения вывода строки приветствия
Создание контроллера welcome.php:
<?php
class Welcome extends Controller {
function Welcome()
{
parent::Controller();
$this->load->model('User_model', 'users'); // указание подключаемой модели
}
function index()
{
$this->load->view(welcome_message'); // указание файла отображения приветствия codeigniter
}
function say_hello($id=1) {
$data['name'] = $this->users->name($id);
$this->load->view('hello', $data); // указание файла отображения views и данных
}
}
Создание модели user_model.php:
<?php
class User_model extends Model {
function name($key) {
$names = $this->names();
return $names[$key];
}
function names() {
return array(1 => "Admin", 2 => "User"); // в зависимости от переданного параметра будет
} вывод имени соответствующего пользователя
}
?>
Создание view hello.php:
<html>
<head>
<title>Welcome to CodeIgniter</title> </head>
<body>
<h1><font color=red> Hello, <?=$name?></h1>
</body>
</html>
Запуск приложения:
Задание к работе:
1 Ознакомиться с теоретическим материалом.
2 Создать приложение согласно варианту (использовать элементы из таблицы 1 первого задания)
3 Разработать структуру приложения
4 Создать скрипт на php для ввода и выдачи результата, используя MVC
5 Оформить отчет согласно требованиям.
Отчет должен содержать:
1 Название и цель работы.
2 Ход работы с детальным описанием выполненных действий с рисунками, листингом кода.
3 Экранные формы браузера с загруженными страницами.
4 Выводы о проделанной работе.
Вопросы для подготовки к защите работы:
1 Особенности реализация взаимодействия модулей согласно концепции MVC
2 Структура фреймфорка
3 Особенности существующих фреймворков для php.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.