Mat*_*kas 10 php model codeigniter
我现在创建CodeIgniter模型的方式是(即没有构造函数,必须一直传递userID并限制为一个对象):
$this->load->model('User');
$this->user->set_password($userID, $password);
Run Code Online (Sandbox Code Playgroud)
但我想这样做:
$this->load->model('User');
$User = new User($userID);
$User->set_password($password);
Run Code Online (Sandbox Code Playgroud)
更新:也许只是一个用户模型是一个糟糕的例子.
例如,如果我有一个包含各种项目的购物清单,我想以这种方式使用PHP:
$this->load->model('List');
$this->load->model('Item');
$List = new List();
$items[] = new Item($itemName1, $itemPrice1);
$items[] = new Item($itemName2, $itemPrice2);
$List->add_items($items);
Run Code Online (Sandbox Code Playgroud)
CodeIgniter在以这种方式处理PHP OO时感觉从根本上破裂了.有没有人有任何解决方案仍然可以在每个模型中使用superobject?
min*_*ost 13
你可以像往常那样做:
require_once(APPPATH.'models/User.php');
$User = new User($userID);
Run Code Online (Sandbox Code Playgroud)
或者,您可以依赖表级模型来返回记录级模型:
$this->load->model('users_model'); // users (plural) is the table-level model
$User = $this->users_model->get_user($userID);
Run Code Online (Sandbox Code Playgroud)
同时,在 users_model
require_once(APPPATH.'models/User.php');
public function get_user($userID)
{
// get a record from the db
// map record to model
// return model
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6445 次 |
| 最近记录: |