gpt4 book ai didi

php - 我如何在 CodeIgniter 中使用正确的面向对象模型和构造函数?

转载 作者:可可西里 更新时间:2023-10-31 22:45:53 25 4
gpt4 key购买 nike

我目前创建 CodeIgniter 模型的方式是(即没有构造函数,必须一直传递 userID 并且仅限于一个对象):

$this->load->model('User');
$this->user->set_password($userID, $password);

但我想这样做:

$this->load->model('User');
$User = new User($userID);
$User->set_password($password);

更新:也许只是一个用户模型是一个糟糕的例子。

例如,如果我有一个包含各种项目的购物 list ,我想以这种方式使用 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);

CodeIgniter 在以这种方式处理 PHP OO 时感觉根本被打破了。有没有人有任何解决方案仍然可以在每个模型中使用 super 对象?

最佳答案

你可以像往常一样做:

require_once(APPPATH.'models/User.php');
$User = new User($userID);

或者,您可以依靠表级模型返回记录级模型:

$this->load->model('users_model'); // users (plural) is the table-level model
$User = $this->users_model->get_user($userID);

同时,在 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
}

关于php - 我如何在 CodeIgniter 中使用正确的面向对象模型和构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8494311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com