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,  Ты несёшь какую-то херню и пытаешься сэкономить на спичках. Попробуй немного абстрагироваться и понять самостоятельно, причём здесь ООП, шаблоны проектирования, вот это вот всё.