@Fagi

Как лучше делать модели, на статических методах или на объектах?

Class user
{
public $user_id;

public function __construct($user_id = false)
{
if ($user_id) $this->user_id = $user_id;
else $this->user_id = USER_ID;
}

public function get_login()
{
// тут получение и возвращение логина пользователя
}
}


Или:

Class user
{
public static function get_login($user_id)
{
// тут получение и возвращение логина пользователя
}
}


Второй вариант для меня удобнее, так как меньше кода писать надо, как и при реализации классов, так и при их вызове. Но статические методы везде осуждают — говорят, что это плохая практика... Вот и задаю этот вопрос давно мучающий меня.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 3
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Вы вроде как используете классы, но всё равно пытаетесь писать в процедурном стиле. Не стоит использовать ООП, если вы его не понимаете, просто потому что это стильномодномолодёжно.
Ответ написан
Комментировать
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
Статика допустима в классах=хэлперах вроде коллекции методов для работы с массивами или файлами или фабриках\билдерах.
Ответ написан
Комментировать
flapflapjack
@flapflapjack
на треть я прав
А как вы в статическом методе обратитесь к базе данных например? Прямо при вызове метода что ли передавать собрались? Не легче создать объект юзера, а потом получить в обычном методе this->id?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы