我使用的Kohana 3.2,而不是它的問題很多,但我寫我在哪裏包裝的任何和所有在一個特定的類返回數據庫記錄的應用程序。我不知道我理解將數據庫行加載到類中的最佳方式,因爲它有時是一個ORM模型,有時它可能只是一個行ID。如何正確加載數據庫行成一個類在PHP
控制器:
$users = User::find_all();
用戶類別
public static function find_all()
{
$users_model = ORM::factory('user')->find_all();
$users = array();
foreach ($users_model as $user_model)
{
$users[] = User::instance($user_model);
}
return $users;
}
這工作不錯,但
從,如果我想所有這看起來像用戶的列表中選擇控制器所以有時我需要一些動作後,加載用戶對象只有一個ID一樣,再一個例子:
控制器
$user_id = $_POST['user_id'];
$user = User::instance($user_id);
所以是User類負責試圖識別如果ID或ORM對象傳遞到它。看起來這對於良好的面向對象操作來說是不正確的,但我真的不確定要做到這一點的最佳方法是什麼。我一直在做的是在構建:
public function __construct($user, $load = 'model')
{
if ($load == 'model')
{
$this->user_model = $user;
}
if ($load == 'id')
{
$this->user_model = ORM::factory('user', $user);
}
}
但是,這真的只是感覺不對。任何建議將不勝感激。
這個包裝是什麼原因?爲什麼不使用現有的Model_User類來滿足您的需求? – biakaveron 2012-04-28 19:35:01