You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Mv-фреймворк

Материал из EverybodyWiki Bios & Wiki
Перейти к:навигация, поиск

Ошибка скрипта: Модуля «Unsubst» не существует. 
Ошибка Lua в package.lua на строке 80: module 'Module:Yesno' not found.Ошибка скрипта: Модуля «Transclude» не существует.
Шаблон:Карточка/название
Шаблон:Wikidata
Шаблон:Wikidata

Шаблон:Сортировка: по изображениямШаблон:ИТ:Общие проверки

MV framework - бесплатный MVC объектно-ориентированный фреймворк с открытым исходным кодом, написанный на языке программирования PHP. Отличительной особенностью является автоматическая генерация административной панели, в которой можно удобно управлять модулями проекта.

MV framework выпущен под лицензией BSD.

Основная идея MV framework — упростить и ускорить создание сайтов и веб-приложений при помощи встроенного CMF, позволяющего управлять контентом через панель администратора.

История[править]

Первая версия MV framework была выпущена 7 апреля 2012 года. Через пять лет 15 апреля 2017 года была выпущена версия 2.0. с полностью обновленным интерфейсом административной панели. В административной панели администратор может поставить один из понравившихся скинов, разработанных в разных цветовых гаммах.

Текущая версия 2.5. выпущена 08.07.2021 [1].

Преимущества[править]

  • Создание и редактирование контента сайта посредством CMF.
  • Автоматически создаваемая административная панель для управления сайтом.
  • Объектно-ориентированный подход и принципы MVC.
  • Скорость и простота PHP шаблонизирования.
  • Конструктор форм и SQL запросов.
  • ORM и готовые функциональные блоки такие как сортировка, фильтрация и т.д.
  • Быстрое добавление и изменение модулей.
  • Визуальный редактор
  • Пакетная загрузка изображений
  • и многое другое.

Технологии[править]

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

Шаблоны проектирования[править]

В отличии от популярного паттерна Model-View-Controller в MV контроллер максимально упрощен и перенесен в шаблон. Выбором подключаемого шаблона управляет маршрутизатор.

Отсутствуют константы и глобальные переменные, все настройки передаются через объект Registry, который построен на паттерне Singleton. Классы моделей и плагинов автоматически загружаются в системе по мере надобности.

CMF[править]

Фреймворк MV — это гибкая CMF для веб-разработки. В основе лежит идея по управлению разнородным контентом через единую административную панель с возможностью быстрого наращивания количества полей модуля при необходимости.

В MV присутствует разделение контента на таблицы, каждая из которых управляется своей моделью. Между моделями устанавливаются связи вида: внешний ключ, многие к одному и многие ко многим. Разделение контента по различным таблицам приводит к существенной оптимизации количества SQL запросов при извлечении данных.

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

MV позволяет быстро и эффективно отображать содержимое моделей на страницах сайта. Система содержит много встроенных методов для вывода полей моделей и позволяет дописывать собственные методы в моделях для генерации HTML кода.

Примеры кода[править]

Новостная лента[править]

Создаем файл модели models/news.model.php

1  <?
2  class News extends Model
3  {
4       protected $name = "Новости";
5 
6       protected $model_elements = array(
7            array("Активация", "bool", "active", array("on_create" => true)),
8            array("Дата", "date", "date", array("required" => true)),
9            array("Название", "char", "name", array("required" => true)),
10           array("Ссылка", "url", "url", array("unique" => true, "translit_from" => "name")),
11           array("Изображение", "image", "image"),
12           array("Текст новости", "text", "content", array("rich_text" => true))
13  );
14  ?>

Создаем файлы шаблонов views/view-news.php и views/view-news-details.php, а также вносим маршруты к шаблонам в файл config/routes.php

1  $mvFrontendRoutes = array( ... ,
2
3  "news/" => "view-news.php",
4  "news/*/" => "view-news-details.php"
5  );

Примечания[править]

  1. Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.

Ссылки[править]

  • Ошибка скрипта: Модуля «URL» не существует.Ошибка скрипта: Модуля «String/split» не существует. — официальный сайт Шаблон:Сначала имя
  • Ошибка скрипта: Модуля «URL» не существует.Ошибка скрипта: Модуля «String/split» не существует. — официальный сайт Шаблон:Сначала имя


This article "Mv-фреймворк" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Mv-фреймворк. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[править]