Если чекбокс на придет, а мы с ним начнем работать, будет ошибкаmaleks писал(а):Вы почему то пропустили эти строчки:Nerf писал(а):maleks писал(а): Он не использует формы с yii инпутами, поэтому даже ничего не именовано.
$fd = Yii::$app->request->post('FD');
$row->attributes = $fd;
Уверены?Инициализация входных данных вручную, как в чистом пхп, необходимая в данном случае, повторять сто раз что выше уже было обсмокчено нет смысла.Код: Выделить всё
$fd['approve'] = isset($fd['approve']) ? 1 : 0; $fd['is_new'] = isset($fd['is_new']) ? 1 : 0; $fd['is_rec'] = isset($fd['is_rec']) ? 1 : 0;
Оптимизация кода
Re: Оптимизация кода
Re: Оптимизация кода
вы удалилиNerf писал(а):Где вторая?
Вы понимаете, что открываете ОДИН файл, потом сохраняете его в виде ДВУХ файлов(удаляя временный). Потом открываете эти ДВА файла и потом перезаписываете их своими ДВУМЯ версиями?)
На "огурцах" объясню:Когда у вас будет 10 версий, вы будете писать сохранять файл 10 раз и потом его 10 раз перезаписывать?)Код: Выделить всё
$uploadedFile = UploadedFile::getInstanceByName('image'); if($uploadedFile) { $filenameT = Useful::genName($file->getBaseName()) . $file->getExtension(); $filenameO = Useful::genName($file->getBaseName()) . $file->getExtension(); $pathT = Yii::getAlias('@uploads/') . $filenameT; $pathO = Yii::getAlias('@uploads/') . $filenameO; $img = new SimpleImage($uploadedFile->tempName); $img->thumbnail(150)->save($pathT); $img = new SimpleImage($uploadedFile->tempName); $img->best_fit(1280, 1280)->save($pathO); // ... }
Код: Выделить всё
$file->saveAs($pathT, FALSE);
$file->saveAs($pathO);
каждое отдельное изображение пережимается, а как?
Re: Оптимизация кода
Сходите в церковь. Вам только боженька поможет)
Re: Оптимизация кода
нормальный нет вообще? половину кода выпилил, изменил и теперь доказывает четNerf писал(а):Сходите в церковь. Вам только боженька поможет)
Re: Оптимизация кода
Господа, я замечу, гражданин, утверждающий о каких-либо ошибках (вероятно еще и верующий), так ни одного предложения и не написал, только разговоры о том как все неправильно. russian community
Re: Оптимизация кода
попробую я объяснить. Не надо копировать временный файл в два других файла, а потом эти два файла ресайзить, перезаписывая самих себя. Это неоптимально.jakiro писал(а):Господа, я замечу, гражданин, утверждающий о каких-либо ошибках (вероятно еще и верующий), так ни одного предложения и не написал, только разговоры о том как все неправильно. russian community
Надо брать один временный файл, ресайзить и итоговый файл копировать в то место, где он лежит. Затем опять же временный файл ресайзить в другой размер, опять сохранять его и только в конце удалить временный файл.
PS "гражданин выше" вам уже оптимизировал код, о чем вы просили в этой ветке. Я как сторонний наблюдатель думаю, что следующий раз из-за ваших нападок на него вы лишитесь его саппорта - russian community делаете вы и он.
Re: Оптимизация кода
в этом вся и проблема, что вместо того, чтобы просто указать, постоянно какие то вбросы и то, что я вообще даже не об этом спрашивал, а о том, как это вынести в поведение/статический метод/ модуль/ экшен файломzelenin писал(а):попробую я объяснить. Не надо копировать временный файл в два других файла, а потом эти два файла ресайзить, перезаписывая самих себя. Это неоптимально.jakiro писал(а):Господа, я замечу, гражданин, утверждающий о каких-либо ошибках (вероятно еще и верующий), так ни одного предложения и не написал, только разговоры о том как все неправильно. russian community
Надо брать один временный файл, ресайзить и итоговый файл копировать в то место, где он лежит. Затем опять же временный файл ресайзить в другой размер, опять сохранять его и только в конце удалить временный файл.
PS "гражданин выше" вам уже оптимизировал код, о чем вы просили в этой ветке. Я как сторонний наблюдатель думаю, что следующий раз из-за ваших нападок на него вы лишитесь его саппорта - russian community делаете вы и он.
Кажется проблема надуманна, любой код можно оптимизировать до бесконечности
И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
p.s. меня в церковь отправили, считаю грубейшим оскорблением
Re: Оптимизация кода
я с вами согласен в этом тезисе, но это неверная аналогия. Тут просто изначально нелогичное поведение, которое не оптимизировать надо, а должно было быть изначально правильно написано. Всегда есть какие-то неочевидные места, которые рефакторят позже - здесь же все очевидно.jakiro писал(а):И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
Re: Оптимизация кода
Я вообще подумал, что где то инстанс два раза вызываю, посмотрел, вроде все нормально. В голову даже не пришло о повтором открытии файла, да в прочем я даже не об этом то и спрашивал)zelenin писал(а):я с вами согласен в этом тезисе, но это неверная аналогия. Тут просто изначально нелогичное поведение, которое не оптимизировать надо, а должно было быть изначально правильно написано. Всегда есть какие-то неочевидные места, которые рефакторят позже - здесь же все очевидно.jakiro писал(а):И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
Re: Оптимизация кода
jakiro Представьте что для вашего приложения понадобились ещё несколько картинок разного размера. Проверьте сколько надо внести изменений в ваш код с каждой новой картинкой? Есть ли дублирования кода? Надо ли править бд работающего приложения?
Код: Выделить всё
$filenameT = Useful::genName($file->getBaseName()).$file->getExtension();
$filenameO = Useful::genName($file->getBaseName()).$file->getExtension();
$pathT = Yii::getAlias('@uploads/').$filenameT;
$pathO = Yii::getAlias('@uploads/').$filenameO;
$file->saveAs($pathT, FALSE);
$file->saveAs($pathO);
$img = new SimpleImage($pathT);
$img->thumbnail(150)->save($pathT);
$img = new SimpleImage($pathO);
$img->best_fit(1280, 1280)->save($pathO);
Products::updateAll(['thumb' => $filenameT, 'image' => $filenameO], ['id' => $id]);
Re: Оптимизация кода
Я вам просто указал и привел код. Вы не поняли, я уточнил... еще уточнил... Вы спрашивали про оптимизацию, я вам предложил, как и предлагали другие. Да, это не относится к поведению, но относится к вашему вопросу в целом.jakiro писал(а): в этом вся и проблема, что вместо того, чтобы просто указать, постоянно какие то вбросы и то, что я вообще даже не об этом спрашивал, а о том, как это вынести в поведение/статический метод/ модуль/ экшен файлом
Это одинаково плохо и тогда, и сейчас. Одно дело жертвовать производительностью ради читабельности и т.п., другое - на пустом месте.jakiro писал(а): Кажется проблема надуманна, любой код можно оптимизировать до бесконечности
И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
Вы все правильно поняли. Хоть это радует Адью!jakiro писал(а): p.s. меня в церковь отправили, считаю грубейшим оскорблением
Re: Оптимизация кода
Радуют что? Оскорбления?Nerf писал(а):Я вам просто указал и привел код. Вы не поняли, я уточнил... еще уточнил... Вы спрашивали про оптимизацию, я вам предложил, как и предлагали другие. Да, это не относится к поведению, но относится к вашему вопросу в целом.jakiro писал(а): в этом вся и проблема, что вместо того, чтобы просто указать, постоянно какие то вбросы и то, что я вообще даже не об этом спрашивал, а о том, как это вынести в поведение/статический метод/ модуль/ экшен файломЭто одинаково плохо и тогда, и сейчас. Одно дело жертвовать производительностью ради читабельности и т.п., другое - на пустом месте.jakiro писал(а): Кажется проблема надуманна, любой код можно оптимизировать до бесконечности
И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.Вы все правильно поняли. Хоть это радует Адью!jakiro писал(а): p.s. меня в церковь отправили, считаю грубейшим оскорблением
>Вы спрашивали про оптимизацию,
ну если вы прочитали только заголовок темы, то да, вы ответили. Если прочитать полностью вопрос, то я спрашивал совсем о другом