Settler1
@Settler1
Правильно написанный вопрос - половина ответа

Как называется такой подход?

Подход1:
$model = new Model();
$model->save('Заголовок', 'Описание');


Подход2:
$object = new Object();
$object->title = "Заголовок";
$object->contents = "Описание";
$object->save();


Подскажите пожалуйста как по правильному называется подход номер 2.
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Очень похоже на паттерн Active Record.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
fenric
@fenric
Подход #1 ... ему нет названия, это абсолютно нелогичный код.

Подход #2 ... как верно отметили выше, это Active Record pattern. НО, нужно понимать, что это анти-паттер, так как объект слишком много на себя берет. Если есть возможность, от такого подхода тоже стоит отказаться, в пользу Data Mapper pattern.
Ответ написан
Комментировать
Не знаю насчет названий подходов, но я делаю так:
class Model
{
...
	private title;
	private contents;	
...
	public function setTitle( $title )
	{
		$object->title = $title;
	}	
	public function setContent( $contents )
	{
		$object->contents = $contents;
	}
	public function save()
	{
		...
	}
}
...
$model = new Model();
$model->setTitle( "Заголовок" );
$model->setContent( "Описание" );
$model->save();
...

Или через конструктор передавать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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