Разработка сайта с использованием MVC фреймворка

  • doc
  • 11.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 172. Разработка сайта с использованием MVC фреймворка.doc

Лабораторная работа №4

 

Разработка  сайта с использованием MVC фреймворка

 

Цель работы: получить практические разработки модулей приложений с помощью Фреймворка CodeIgniter.

 

Теоретические сведения

 

MVC Фреймворк

 

Model-view-controller (Паттерн модель-представление-контроллер) используется очень давно. Еще в 1979 году его описал Тригве Реенскауг в своей работе «Разработка приложений на Smalltalk-80: как использовать Модель-представление-контроллер». С тех пор паттерн зарекомендовал себя как очень удачная архитектура программного обеспечения.


mvc_1

 

Пользователь, работая с интерфейсом, управляет контроллером, который перехватывает действия пользователя. Далее контроллер уведомляет модель о действиях пользователя, тем самым изменяя состояние модели. Контроллер также уведомляет представление. Представление, используя текущее состояние модели, строит пользовательский интерфейс.Основой паттерна является отделение модели данных приложения, его логики и представления данных друг от друга. Таким образом, следуя правилу «разделяй и властвуй», удается строить стройное программное обеспечение, в котором, во-первых, модель не зависит от представления и логики, а во-вторых, пользовательский интерфейс надежно отделен от управляющей логики.

На данный момент паттерн 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