Обсуждали с коллегой, является ли это плохой практикой. Сейчас я не могу найти непосредственных примеров этого в Интернете.
У нас есть много средств отображения объектов базы данных, и мы называем их функции так
(пример) - метод setId get ' s строку из базы данных и установите для нее предопределенные свойства
class Person {
public static function get($id) {
$object = new Person;
$object->setId($id);
return $object;
}
}
. Используя ее таким образом, мы можем использовать такие простые конструкции, как это: (где мы получили идентификатор, например, из сообщения)
$person = Person::get($id);
вместо
$person = new Person;
$person->setId($id);
Теперь, мой инстинкт подсказывает мне, что это плохая практика. Но я не могу это объяснить. Может быть, кто-нибудь здесь сможет объяснить, почему это так, или это неплохая практика
Вот еще несколько примеров того, как мы это используем. в основном мы используем его для геттеров. (только имена, а не код. Почти все они просто запускают запрос, который может вернуть 1 объект, а затем использовать идентификатор результата для использования метода setId)
class CatalogArticle {
public static function get($id) { }
public static function getByArticlenumber($articlenumber) {} //$articlenumber is unique in the database
public static function getRandom() {} //Runs a query returning a random row
}