Size: a a a

2021 January 23

AS

Alexey Samoylov in Yii Framework 3
Мидлвари реализуют паттерн chain of responsibility, это не стек и не очередь, это вектор :D https://www.php.net/manual/ru/class.ds-vector.php
источник

AS

Alexey Samoylov in Yii Framework 3
Не стоит путать с декораторами, там действительно "луковица" и LIFO
источник

DS

Dmitriy S in Yii Framework 3
Виктор
Мне пофиг) Как инструмент умеет делать - так и буду пользоваться. Кстати, прямой стек читается с конца 😉 На то он и стек. Обратный же зовут очередью.
Есть ещё вариант менять только порядок добавления, а внутри стек. Так в зенде сделано.
источник

DS

Dmitriy S in Yii Framework 3
Но логичней как сейчас, если смотреть со стороны мидлтварей роутов и групповых мидлтварей.
источник

S)

Shokha )) in Yii Framework 3
источник
2021 January 24

КН

К. Николай in Yii Framework 3
Добрый день
Столкнулся с такой проблемной при валидации формы.
В тэге есть атрибут required и как я понял сообщение генерится браузером. Вопрос в чем можно ли добавить свою проверку и вывод своего сообщения?
источник

КН

К. Николай in Yii Framework 3
К. Николай
Добрый день
Столкнулся с такой проблемной при валидации формы.
В тэге есть атрибут required и как я понял сообщение генерится браузером. Вопрос в чем можно ли добавить свою проверку и вывод своего сообщения?
отбой нашел как решить
в тэг вставляется атрибут pattern
и обрабатываем событие
$('input').on('input invalid', function() {
   this.setCustomValidity('')
   if (this.validity.valueMissing) {
     this.setCustomValidity("Нет значения")
   }
   if (this.validity.typeMismatch) {
     this.setCustomValidity("Не соответствует типу")
   }
   if (this.validity.patternMismatch) {
     this.setCustomValidity("Не соответствует паттерну")
   }
})
источник

А

Алексей R in Yii Framework 3
Алексей Гевондян
ну вот так решили, интересно было бы увидеть причину такого решения.
Я думаю, что дело тут вот в чём.
Они наблюдают с той позиции, где находится бизнес логика. Это у них и на рисунке как app значится. Т.о. у них мидлвари окружают приложение. Каждая новая ставится снаружи.

У ларки http kernel это часть приложения и точка отсчёта находится снаружи. Запрос идёт внутрь последовательно через мидлвари. Поэтому они и задаются последовательно.

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

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

М

Махмуд in Yii Framework 3
Мне понравилось как строится приложение из этой хроники статей про архитектуры

https://herbertograca.com/2017/07/03/the-software-architecture-chronicles/

Когда все части приложения и фреймворка имеют низкую связанность.
источник

DS

Dmitriy S in Yii Framework 3
Алексей Гевондян
по-умолчанию брать прямой, но для любителей и обратный можно будет потом сделать. заложить возможность это менять на уровне архитектуры
Никто не мешает извращаться, у стека есть интерфейс
https://github.com/yiisoft/middleware-dispatcher/blob/master/src/MiddlewareStackInterface.php
источник

АГ

Алексей Гевондян... in Yii Framework 3
осталось еще у метода build вместо array нормальный тип прописать.
источник

АГ

Алексей Гевондян... in Yii Framework 3
в пхпдоке
источник

DS

Dmitriy S in Yii Framework 3
Алексей Гевондян
осталось еще у метода build вместо array нормальный тип прописать.
Где там тип array?
источник

АГ

Алексей Гевондян... in Yii Framework 3
11 стрка
источник

DS

Dmitriy S in Yii Framework 3
Там тип self
источник

АГ

Алексей Гевондян... in Yii Framework 3
в начале
источник

DS

Dmitriy S in Yii Framework 3
Это массив объектов, какой там должен быть тип?
источник

АГ

Алексей Гевондян... in Yii Framework 3
MiddlewareInterface[], или мидлварью может быть что угодно? какие-то требования же есть
источник

АГ

Алексей Гевондян... in Yii Framework 3
callable[] там на худой конец
источник

DS

Dmitriy S in Yii Framework 3
а, да, в пхпдок можно прописать
источник