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
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 ?
mr.
Сергей
Сергей
Сергей
Магия, с 3го запуска всё завелось...
mr.
mr.
Выброси винду будет заводиться всё с первого раза)
mr.
700 мемберов в чате, с юбилеем)
mr.
Павел
699 жи
Niko
☺️ щас бы мидлварь)
Чем мидлварь удобней поведений, если поверения можно навесить как на приложение в целом, так и на группу контроллеров или модуль? Все просят, но я не понимаю разницы между ними
Niko
699 жи
ты наверно кого-то забанил, у меня в списке 700)))
👻
700
👻
у кого то телега глючит
mr.
Niko
Т.е. фильтры происходят еще до bootstrap?
Alexey
да эт шляпа же
Alexey
когда строишь сложный rbac/acl фильтровать надо уже в контроллере
Alexey
в экспрессе вон манкипатчат реквест чтоб данные прокидывать от мидлвари к другой мидлвари
Alexey
и получается говно
Alexey
:D
mr.
Alexey
не
Alexey
особо не писал ниче :D
Alexey
на люмене только демонов
mr.
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
Отдаленная потому, что при этом нет явного управления последовательностью прохождения запроса между от behavior’a к behavior’у
Alexey
мидлвари это декораторы прост
Alexey
Alexey
в yii есть и реквест парсеры отдельно и респонс форматирование