Рубрика «mvc» - 12

PHP MVC Framework — PhalconPHP
Совсем недавно на хабре уже упоминался PHP MVC Framework написанный на языке C, где были описаны его преимущества и недостатки. Этой статьёй я хочу продолжить знакомство с довольно интересным инструментом веб-разработчика — PhalconPHP.

Данная статья является вольным переводом базового урока, в котором будет рассмотрен процесс создания приложения с простой формой регистрации, а также разъяснены основные аспекты поведения фреймворка.

Лучший способ использовать это руководство – пройти его шаг за шагом. Читать полностью »

Phalcon — скомпилированный PHP MVC Framework
Создание скомпилированных MVC фреймворков для PHP не раз приходила на ум кодерам.

Достоинства такого подхода:

  • Высокая производительность
  • Малая нагрузка файловой системы
  • Меньший расход памяти (при строгой типизированности)
  • Частичная обработка данных без интерпритации

И само собой не менее явные недостатки:

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

Читать полностью »

Вышла ноль пятая версия mvc фреймворка Autodafe для node.js. Код стало писать удобнее, кода теперь писать нужно меньше, ещё меньше. Скоро код писать не надо будет совсем, достаточно будет лишь подумать о нём.

Пример действия контроллера, которое совершает два асинхронных запроса к базе данных, компанует вьюшку index.html и отправляет ее клиенту (при этом отлавливая и обрабатывая все ошибки):

Site.prototype.index = function( response, request ){
  response.send({
    topic : this.models.topic.With( 'author', 'comments.author' ).find_by_pk( request.params.topic_id ),
    news  : this.models.news.find_all()
  });
}

Написаны подробные статьи про тонкости работы с контроллерами, авторизацию пользователей и работу с URL адресами.

И самое главное: переработано и подробно задокументировано демо с блогом. Блог не обладает богатым функционалом, но может служить хорошей отправной точкой для разработки своего приложения.

Читать полностью »

в 17:27, , рубрики: model, mvc, php, sql, ооп, метки: , , , ,

Где-то полтора года назад я начал заниматься web разработкой. Начинал с функционального программирования. Примерно пол года назад я перешел на ООП и стал использовать MVC архитектуру проектирования. Недавно появилась задача оптимизировать работу с базой данных, т. к. вся связь и работа с базой осуществлялась через один класс. Это было неудобно потому, что все время приходилось вручную писать SQL — запросы. Читать полностью »

Qt виджет для добавления и удаления строк в таблицe QTableView
В этой статье я хотел бы поделиться своим опытом разработки одного виджета (элемента графического интерфейса), попутно осветив некоторые технологии и техники Qt.
Очень часто бывает необходимо дать пользователю возможность вставки строк и столбцов в таблицу или удаление их из неё. Как правило это реализуется так: надо выделить строку кликнув по хидеру и выбрать пункт в меню: select > menu > insert | delete. Это не совсем очевидно и интуитивно, как и то что строка вставляется перед текущей а не, например, после неё. Поэтому я написал виджет который снимает эту проблему.
Виджет выглядит как четыре кнопки, следующие за курсором по границе таблицы (хаха, это совсем как те пчелки, которые бегали за курсором на сайтах в эпоху вэб 1.0!). Можно было бы перегрузить QTableView, но тогда придется изменять все инстансы; вместо этого я написал отдельный виджет которые представляет из себя как бы панельку которая прикрепляется к уже имеющемуся QTableView. Читать полностью »

Вступление

Система, разработанная мною, имеет схожую структуру с фреймворком Symfony. Изначально была написана как базис для любой последующей разработки.

Когда-то прочитал мнение, которое меня развеселило и имело оно примерно такой смысл: «Компьютеры стали мощнее и мы начали компенсировать это фреймворками». Выходом из этой ситуации, по-моему, было написание такого «костяка», который позволит с легкость организовать маршрутизацию и модуляцию сайта.

Хочу сказать, что это не является альтернативой Symfony framework, а лишь моим взглядом на решение мелких задач.
Читать полностью »

phpstorm

Продолжая делать упор на анализ и качество кода мы наконец добрались и до фреймворков. Работа над IDE уже продолжается, а прямо сейчас мы предлагаем попробовать:

  • Новый анализатор типов — меньше неверных предупреждений без дополнительных аннотаций
  • Больше предупреждений о runtime errors прямо в редакторе
  • Больше подсветки неиспрользуемого кода и конструкций
  • Панель сущностей MVC-фреймворков — пока Symfony 2 и yii, остальные по мере готовности
  • Прозрачная поддержка PHAR
  • Поддержка callbacks в литералах (call_user_func, etc) — включая поиск использования и рефакторинг
  • Серезные улучшения консоли БД — для всех баз данных — рефакторинг, экспорт, процедуры
  • Форматирование кода по стандартам PSR1/2, Symfony, Drupal
  • LiveEdit — редактирование PHP/HTML/CSS/JS видно в браузере в реальном времени без перезагрузки страницы
  • Серезно улучшена поддержка CSS/SASS/SCSS/LESS — анализ, дополнение, форматирование
  • Поддержка шаблонов Jade

Читать полностью »

mv-patterns
В Интернет можно найти множество различающихся реализаций и схем, уже набившего оскомину, паттерна MVC. В разных книгах я также встречал разные схемы. Это порождает некоторую путаницу и комментарии к моей предыдущей статье: "Реализация MVC паттерна на примере создания сайта-визитки на PHP" тому подтверждение. В поисках истины, я попытался расставить все по местам… перечитал некоторую литературу и статьи по паттернам проектирования и написал дополнение к упомянутой статье. Но решил запостить это дополнение, как отдельный топик в надежде на фидбэк. Под катом вы найдете несколько часто встречающихся схем MVC и MVP с описанием жизненного цикла приложения, а также описание менее популярных паттернов HMVC, MVVM и схемы AMD (Asynchronous Module Definition), которая актуальна для клиент-сайд приложений. Разумеется, некоторые из перечисленных паттернов применимы не только к веб-приложениям, но в статье они рассматриваются именно в этом контексте.
Читать полностью »

Слишком часто стала мелькать в западных блогах и твиттере аббревиатура “DCI”. Меня удивил тот факт, что на хабре по данной тематике почти нету информации, лишь в Ruby NoName Podcast S04E09 упоминалось об этом. Любопытство взяло вверх, и я решил узнать об этом загадочном слове побольше. В процессе поиска я наткнулся на хорошую статью, написанную на английском моим земляком, Виктором Савкиным. Данная статья без обильной теории, на практических примерах показывает, что из себя представляет DCI. Далее повествование будет идти от лица Виктора.Читать полностью »

Навеяно топиком о смерти MVC.

Чтобы разобраться в том, что происходит, давайте пойдем от принципов ООП.
Класс объектов в ООП инкапсулирует данные объекта с его поведением.
Вся сложность в разделении предметной области на объекты.
Здесь под «предметной областью» я понимаю также техническое окружение (БД, сеть и т.д.)

Распространенной практикой в наши дни стало создание легковесных POJO-объектов и их proxy, нам которыми работает некоторая логика, разнесенная по всем частям MVC (по M, V и C соответственно).
Это удобно с точки зрения реализации различных технологий для M, V и C частей приложения соответственно. На выходе имеем M-framefork'и, V-framefork'и и C-framefork'и (иногда наблюдается смешение). В этой парадигме переносить логику в POJO-классы модели, которые отражаются (mapping) на БД, было бы самоубийством.

Какие у нас есть альтернативы?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js