mr.
Береш коэфициент, например 2.
mr.
6 / 2 = 3 10 / 2=5
mr.
Соотношение везде 0.6
Сергей
В лоб я понимаю как это сделать))) Не понимаю, почему есть функция для создания превьюшек, есть функция для ресайза в лоб , а с сохранением пропорций нету... но может я не туда смотрю
mr.
Да, ты не туда смотришь, дока лучше чата - инфа сотка)
mr.
Ещё есть гугл))
Сергей
Я доку смотрел
Сергей
и гугл смотрел)
Юрий
https://stackoverflow.com/questions/30289032/yii2-resize-images-maintaining-aspect-ratio-with-imagine
Юрий
Второй же бл результат в поиске
Сергей
Это не то
Юрий
А, ну ок. Ищи дальше:)
Сергей
С утра лучше ищется)))
Сергей
https://github.com/yiisoft/yii2-imagine/issues/41
Сергей
Вот... в разработке
Сергей
Скоро будет :)
Юрий
$imagineObj = new Imagine(); $imageObj = $imagineObj->open(\Yii::$app->basePath . '/../assets/images/' . $filename); $imageObj->resize($imageObj->getSize()->widen(400))->save(\Yii::$app->basePath . '/../assets/images/' . $filename);
Юрий
Оно уже есть
Юрий
http://www.yiiframework.com/forum/index.php/topic/63890-yii2-imagine-resize/
Юрий
Хотя более простой метод конечно ок
Alexey
https://github.com/masterexploder/PHPThumb/blob/master/src/PHPThumb/GD.php#L260
Alexey
я на imagine делал, но чет не могу найти где (:
Niko
Пусть на imagine делает, она с картинок сео-хлам удаляет
Сергей
Это называется адаптивный ресайз
хорошее название, всё думал как это правильно обзывается
Alexey
на imagine я проще делал, просто надо прикинуть как отмасштабировать картинку чтоб она вписалась в новый прямоугольник размеров
Alexey
и потом дернуть scale
Alexey
ну т.е. она и уменьшиться и увеличиться может
Сергей
ну т.е. она и уменьшиться и увеличиться может
Вот да... по ходу придётся свою фунцию обёртку писать
Alexey
ага
Сергей
А вот как лучше поступить в такой ситуации. Подрубить к проекту Imagine как dev-master через компосер или сделать хелпер, куда дёрнуть необходимые новые функции?
SiZE
Есть же у yii обертка на imagine
Сергей
Есть же у yii обертка на imagine
Про обёртку и речь. Сейчас стабильная версия 2.1.0. Адаптивный ресайз уже сделан и есть в dev-master (он есть в обёртке... в Imagine такого нет) и будет доступен в версии 2.1.1 которая выйдет неизвестно когда.
Al
а мне в никсах ImageMagick нра
Al
целый фотошоп
🎅
нет, не целый
Сергей
Я правильно понимаю, что подключив в composer.json репозиторий: "repositories": [ { "type": "composer", "url": "https://asset-packagist.org" } ] Мне не нужно устанавливать и конфигурировать fxp/composer-asset-plugin ?
Сергей
https://github.com/MKiselev/web-dev-info-stock/tree/master/yii2#Отказ-от-fxpcomposer-asset-plugin-в-пользу-hiqdevasset-packagist
Сделал как написано, не находит bower-пакет :( http://joxi.ru/8ZrJzGH1lLXxrj Что я не так сделал
Сергей
Магия, с 3го запуска всё завелось...
mr.
Выброси винду будет заводиться всё с первого раза)
mr.
700 мемберов в чате, с юбилеем)
mr.
Павел
699 жи
Niko
☺️ щас бы мидлварь)
Чем мидлварь удобней поведений, если поверения можно навесить как на приложение в целом, так и на группу контроллеров или модуль? Все просят, но я не понимаю разницы между ними
Niko
699 жи
ты наверно кого-то забанил, у меня в списке 700)))
👻
700
👻
у кого то телега глючит
mr.
Чем мидлварь удобней поведений, если поверения можно навесить как на приложение в целом, так и на группу контроллеров или модуль? Все просят, но я не понимаю разницы между ними
Тут больше идеологический спор ИМХО. Отделить мух от котлет. Контроллер и приложение с мидлварами уже получают трушный реквест и не берут на себя обязанности фильтрации.
Niko
Т.е. фильтры происходят еще до bootstrap?
Alexey
да эт шляпа же
Alexey
когда строишь сложный rbac/acl фильтровать надо уже в контроллере
Alexey
в экспрессе вон манкипатчат реквест чтоб данные прокидывать от мидлвари к другой мидлвари
Alexey
и получается говно
Alexey
:D
Alexey
не
Alexey
особо не писал ниче :D
Alexey
на люмене только демонов
Niko
А ты смотрел, как в ларавел устроены мидлвари?
Так мидлварь использует не общепринятый порядок проверки???
Alexey
общепринятый в экспрессе :D
Alexey
оттуда это говно пошло в народ
Niko
Кхм... А какой общепринятый?)
Его так просили у core yii, что мне казалось это что-то общепринятое и одинаково работающее в "остальных фреймворках", якобы "везде есть, могу один мидлварь в другой фрейм кинуть и все работает, только у нас нет! Не удобно..." Оказывает это везде по-разному сделано - пока что не понимаю смысла его внедрения в yii при наличии поведений
Dmytro
Работает Middleware более-менее одинаково везде: бери запрос, проганяй его через несколько обработчиков (каждый из которых может как-то изменить его перед передачей следующему), и возвращай как ответ. А вот реализации, особенно в части интерфейска конфигурации, везде отличаются. Например: Через вложенность конструкторов: new Middleware(new FormatJsonMiddleware(new LogResponseMiddleware(new CommandBusMiddleware(new RequestToCommandMiddleware(new AuthenticationMiddleware(new LogRequestMiddleware)))))) Через массив последовальности: new Middleware([ ‘LogRequestMiddleware’, ‘AuthMiddleware’, … ])
Dmytro
Через чейнинг: (new Middleware())->add(LogRequestMiddleware::class)->add(AuthMiddleware::class)->add(…)...
Dmytro
И еще парочку способов, которые сходу даже сложно выразить, но которые дают некоторые преимущества в некоторых конкретных архитектура приложений
Dmytro
Действительно, behaviors – одна из вариаций MW, хоть и несколько далекая от главной идеи – передачи запроса между слоями.
Dmytro
Есть вот такой вариант https://github.com/oscarotero/psr7-middlewares
mr.
@d_naumenko я бы поспорил с утверждением, что behaviors – одна из вариаций MW .
Dmytro
Пока мы понимаем, что пользователи Yii больше заинтересованы в других возможносях, чем в Middleware из коробки.
Dmytro
@d_naumenko я бы поспорил с утверждением, что behaviors – одна из вариаций MW .
Да, это открытый вопрос, можно спорить 🙂 Я считаю это отдаленной вриацией, так как используя поведение на уровне контроллера, можно не изменяя кода самого action’a как-то повлиять на его вход и выход.
Dmytro
Отдаленная потому, что при этом нет явного управления последовательностью прохождения запроса между от behavior’a к behavior’у
Alexey
мидлвари это декораторы прост
Alexey
в yii есть и реквест парсеры отдельно и респонс форматирование