ramzes, это тут его не видно, он постоянно следит за комитами и даже пулреквесты пилит
# Koenig (22.08.2016 / 20:19)
ramzes, это тут его не видно, он постоянно следит за комитами и даже пулреквесты пилит
да как бы я не о невидности
Для обработки изображений в последнем своем проекте использовал
данный пакет.
В живую это выглядело так:
$this->fileTable->edit($file, function(SimpleImage $editor) use($data){
$editor->crop(
(int) $data['up_photo']['x'],
(int) $data['up_photo']['y'],
((int) $data['up_photo']['x'] + (int) $data['up_photo']['width']),
((int) $data['up_photo']['y'] + (int) $data['up_photo']['height'])
);
$editor->resize(1080, 1200);
return [80, Mimetype::IMG_JPG];
});
ramzes, не стоит заимствовать интерфейс , покажу кодом
старый код (+/-)
$handle = new upload($_FILES['image']);
if ($handle->uploaded) {
// Обрабатываем фото
$handle->file_new_name_body = $cid;
$handle->allowed = array(
'image/jpeg',
'image/gif',
'image/png'
);
$handle->file_max_size = 1024 * $set['flsz'];
$handle->file_overwrite = true;
$handle->image_x = $handle->image_src_x;
$handle->image_y = $handle->image_src_y;
$handle->image_watermark = '../files/library/images/watermark.png';
$handle->image_watermark_x = 10;
$handle->image_watermark_y = 10;
$handle->image_watermark_position = 'LB';
$handle->image_watermark_no_zoom_in = true;
$handle->image_watermark_no_zoom_out = false;;
$handle->image_convert = 'png';
$handle->process('../files/library/images/orig/');
$err_image = $handle->error;
$handle->file_new_name_body = $cid;
$handle->file_overwrite = true;
if ($handle->image_src_y > 240) {
$handle->image_resize = true;
$handle->image_x = 240;
$handle->image_y = $handle->image_src_y * (240 / $handle->image_src_x);
} else {
$handle->image_x = $handle->image_src_x;
$handle->image_y = $handle->image_src_y;
}
$handle->image_watermark = '../files/library/images/watermark.png';
$handle->image_watermark_x = 10;
$handle->image_watermark_y = 10;
$handle->image_watermark_position = 'LB';
$handle->image_watermark_no_zoom_in = true;
$handle->image_watermark_no_zoom_out = false;
$handle->image_convert = 'png';
$handle->process('../files/library/images/big/');
$err_image = $handle->error;
$handle->file_new_name_body = $cid;
$handle->file_overwrite = true;
$handle->image_resize = true;
$handle->image_x = 32;
$handle->image_y = 32;
$handle->image_convert = 'png';
$handle->process('../files/library/images/small/');
if ($err_image) {
echo functions::display_error($lng_gal['error_uploading_photo'] . '<br /><a href="?act=addnew&id=' . $id . '">' . $lng['repeat'] . '</a>');
}
$handle->clean();
}
Delphinum, кстати давно на этот класс положил глаз, но функциональность избыточна
# ramzes (22.08.2016 / 19:57)
https://github.com/brandonsava ... e.php
Это файлосрачь, а не модульное программирование
Это ООП
Вообще некоторые разумные мысли в этом топике есть, но, вы какую-то херню несёте тут.
Что касается проблемы "куча файлов" vs "куча строк", то как уже сказали, истина где-то посередине. Листинги в несколько тысяч строк такой же идиотизм, как и файлы с одной единственной функцией или переменной. Только первое почему-то встречается гораздо чаще, чем второе. И я скорее всего даже знаю почему. Думаю, не сложно развить мысль. Дальше, если не ошибаюсь, то в PHP из-за особенностей автозагрузки принято выделять по файлу на каждый класс, потому тут хочешь не хочешь, придётся с этим мириться. По моему мнению проблема высосана из пальца. Кому какое дело, что там наворотили в сторонней библиотеке по этой части? Ты выбрал, что понравилось, просмотрел код, всё ок, подключил её через composer и забыл. Всё остальное не имеет значения. Дальше только обновляешь по мере необходимости. Всё, закрыли тему.
Дальше, ТС должен был обозначить проблему и пути её решения. Вот у нас есть древний кусок говна, который берёт на себя кучу задач, надо что-то с этим сделать. Предлагаю взять вот эту и эту библиотеку. Ну а дальше вместе решаете, подходят предложенные решения или нет. Если нет то почему, предлагаете свои. Вы же тут какой-то хернёй занимаетесь. Ой, там 100500 файлов и вообще на шитхабе одно дерьмо, давайте свой велосипед запилим. В итоге так никуда и не продвинулись.
Давайте не тупите
Koenig, дело не в том что у тебя обращение короче, дело в том что предется переписывпть кучу кода в джоне.
проще некий драйвер сделать который будет транслировать логику обращений в новые классы
# reaper (22.08.2016 / 20:44)
Это ООП
Вообще некоторые разумные мысли в этом топике есть, но, вы какую-то херню несёте тут.
Что касается проблемы "куча файлов" vs "куча строк", то как уже сказали, истина где-то посер
это херь
ооп это вроде как с утра обьектным проэктированием было, а не выделением файла на функцию сложностью находящуюся где то на самом дне ЛЮБОГО программирования.
не серьезно, файл на варидацию числа в диапазоне и аж ДВА метода на это? ресурсы на поиск, валидацию (лол) файла, выделение под него памяти, включение в общий процесс.
да это пздц какой то, я сейчас даже не с позиции кодера\говнокодера говорю, с позиции нормального человека не обделенного элементарной логикой (самым минимумом необходимым что бы понять, что это точно такой же бред как и организация кода форума в джоне, например)
ramzes, ну я пройду в те пять мест вызова старого класса, их примерно 5 , библиотека, альбомы, аватары, еще где то, удаляю 30 строк, добавляю одну
тут не такой мегаогромный проект, и пример дал, там каша, кучу свойств определяется
ramzes, Ты несёшь какую-то херню и пытаешься сэкономить на спичках. Попробуй немного абстрагироваться и понять самостоятельно, причём здесь ООП, шаблоны проектирования, вот это вот всё.