(;¬_¬)
base там base instance а не base64
Джамал
А обычный аплоадинг я так понимаю уже не модный?
Джамал
File upload js + обработка каждого файла не его бэйс64
Джамал
Что вы хотите валидироввть?
Джамал
То что это файл или то что это картинка или то что оно вообще есть?
Евгений
всё, что можно валидировать в laravel
Евгений
даже например - https://laravel.com/docs/5.3/validation#rule-dimensions
Евгений
картинка чтоб квадратная была к примеру)
Джамал
А есть ёж пакет для работы с картинками
Джамал
На пакалисте посмотрите
Джамал
Он там самый популярный
Евгений
для лары пакет? есть, но он же сохраняет просто картинку и всякие манипуляции с ними делает
Евгений
мне не это надо
Джамал
мне не это надо
А что вам надо, вы хотите загрузить картинку но не картинку?
Джамал
Квадратных кругов не бывает
Евгений
перед тем как сохранять картинку, надо её отвалидировать
Евгений
ты мне скажи последовательность действия по твоей логике, может я не понимаю как ты имеешь ввиду сделать
Евгений
у меня форма, идт ajax запрос, там формреквест, там валидирую. Надо картинку отвалидировать по размерам. Как сделать?
Джамал
Если вы будут отправлять картинку на валидацию с помощью base64 она у вас меньше не будет
Джамал
Он как весила 1 мегабайт, так её код в base64 и будет весить 1 мг
Евгений
размер физический, что она квадратная
Джамал
Зачем вам для этого Ларавел вообще?
Евгений
и даже если так, то laravel строку никак не отвалидирует по размеру как размер картинки. Он отвалидирует как количество символов в строке
Джамал
Сделайте на js
Джамал
Полным полно jq библиотек
Евгений
ой всё, ладно, сделаю как сделаю
Евгений
я задаю конкретный вопрос как сделать то что мне надо, а не то как сделать на js
Джамал
Самое главное будь здоров
Eugene
Плюс на js это одна проверка, а пользователь может отправить сам запрос с любой картинкой. Лучше и на пхп проверять
Евгений
@Denormalization ты вроде говорил что делал на мгу валидацию картинок, напомни решение своё
Евгений
ты не читал, говоришь не то
Евгений
тут вообще нет Request::hasFile($field))
Евгений
грузится не файл а его base64 строка по аяксу
Евгений
а надо отвалидировать как обычную картинку
Евгений
а по высоте и ширине в ларе уже есть дефолтный валидатор
Anonymous
Validator::extend('image_base64', function($attribute, $value, $parameters, $validator) { list($width, $height) = $parameters; $img = imagecreatefromstring(base64_decode($value)); $image_width = imagesx($img); $image_heigth = imagesy($img); imagedestroy($img); // дальше делаешь валидацию });
Anonymous
писал сразу в телеграме, могут быть ошибки)
Anonymous
ну это понятно, просто пример сделал )
Евгений
Спасибо
marabu
ребят, кто как методы теста назвает? CamelCase или snake_case? И какой способ предпочтительней для пхп?
Владимир
psr говорит camelcase, но это просто рекомендация
Владимир
В тему именования методов тестов. У одних ребят подсмотрел, они придерживаются правила "X, given Y, should Z". Например, тестируем метод download с неверным урл - /** @test */ public function downloadWithInvalidUrlShouldThrow() Мне показалось это довольно удачным, использую у себя
🐴
в BIOS виртуализация должна быть включена
Anonymous
читал он
Anonymous
чтец
Anonymous
чукча
(;¬_¬)
все, но не каждый
Sergey
я банально testShortDescription.
Anonymous
вы еще померьтесь у кого имена тестов длинее
Anonymous
спорим у меня?
Sergey
спорим у меня?
а ты джавист?
Anonymous
ниразу
Sergey
ниразу
тогда не у тебя :D
Anonymous
у меня )
Sergey
ну тогда ты джавист
Sergey
другого не бывает
Sergey
:)
Anonymous
it_should_throw_an_exception_when_invalid_user_id_passed
Anonymous
это средненький
Sergey
фу ты :) я ж шучу
Sergey
какая разница какой длины тест? Главное чтобы ассерты были хорошие
Sergey
Кстати, в PHPUnit багу нашел. Если в дата провайдере возникнет исключение, тест не считается упавшим. Он просто игнорируется
Алексей
Кстати, в PHPUnit багу нашел. Если в дата провайдере возникнет исключение, тест не считается упавшим. Он просто игнорируется
Если тебе датапровайдер не вернул данных с которыми тестить, считаю это нормальным поведением
Алексей
ты тестишь не датапровайдер, а именно логику обработки данных
Arthur'); DROP TABLE Users;--
64bit проц?
Sergey
Если тебе датапровайдер не вернул данных с которыми тестить, считаю это нормальным поведением
то есть, если мы сделали какое-то изменение, которое рушит датапровайдер и еще и тесты, ненароком, от него зависимые и датапровайдер скромно умолчал, код попал в продакшн. Милое дело
Sergey
ты тестишь не датапровайдер, а именно логику обработки данных
я не тестю датапровайдер, я тестю тесты, но если инструмент не может запустить тесты - я должен об этом знать. А то будет как сгоревшая лампочка, показывающая что в автомобиле тормоза сломались
Алексей
Я согласен что какой нить нотис должен быть
Sergey
именно. Лучший вариант - это пометка, что данный тест упал
Sergey
Потому что, успешный тест - это только пройденный тест, а вот если по какой-то причине его нельзя пройти - это уже failure ну или в данном случае error больше подойдет
Arthur'); DROP TABLE Users;--
Intel?
Vladislav
Vladislav
Или он просто стрельнул, а тест прошёл?
Sergey
просто будто теста нету
Sergey
в каунтах тоже циферка меньше