Считается ли плохой практикой связывать имена функций с классами?
Например, в кохане я мог бы сделать следующее.
function Model($a,$b){ return new Model($a,$b); }
Тогда я мог бы отбросить все ссылки на новые, не нужно было бы создавать переменную temp, и никакие фабричные беспорядки.
$temp = new Model('book'); $book=$temp->where('title','=','name')->find();
Или
$book = Model::factory('book')->where('title','=','name');
к
$book = Model('book')->where('title','=','name');
Я понимаю, что глобальное загрязнение плохое, и сначала немного неясно читать, но оно имеет свои преимущества.
Я имею в виду, что было бы еще более запутанным, если бы кто-то еще определил функцию, которая не имела никакого отношения к классу, так почему бы не использовать эту функцию?
Например:
$book = new Model('book'); // looks so close to the above, it's scary $book = Model('book');
Другие плюсы или минусы?