次の単純なクラスコンストラクタを考えてみましょう。 。(私は明らかに参照されているすべてのメソッドを含めておりませんのでご注意コンストラクタから値を返すのは悪いですか?
// Initialize User class.
public function __construct($user_id = NULL)
{
// If user is loaded (and a user ID is provided)
if ($user_id)
{
// If user is authorized.
if ($this->authorized($user_id))
{
// Load user information.
$this->info = $this->load($user_id);
}
else
{
// Return an empty (nonexistent) user.
return NULL;
}
}
// If user is loaded (and no user ID is provided)
else
{
// Create a new user.
$new_user = create_user();
// Return the new user's ID.
return $new_user;
}
}
私の質問はこれです:?ここで間違った値を返す私の方法がある私の友人は、コンストラクタは、常にNO MATTER WHATオブジェクトを返すべきではないと主張しています。しかし、私がここにレイアウトしたやり方ははるかに簡単で、作業がはるかに簡単です(新しいユーザーを作成する場合は、バットからIDを取得します)。それが間違っている場合は、すぐに)
を彼女/彼の情報へのアクセスを持っていることは、なぜ?なぜこの悪い?
"常に、何に関係なく" ... – Jon
PHPでは、戻り値は効果がありません。 http://stackoverflow.com/questions/2214724/php-constructor-to-return-a-null –
あなたのお友達のアドバイスは多分異なる言葉から来ているでしょう。 –