0

我正在 Codeigniter 中创建一个投资组合页面,并且我还为该站点配备了一个简单的 CMS。

我有一个创建投资组合项目的控制器,如下所示:

public function create_portfolio()
{
    $this->load->model('portfolio_model');
    $this->portfolio_model->insert(
        $this->input->post('title'),
        $this->input->post('short_description'),
        $this->input->post('complete_description'),
        $this->input->post('github'),
        $this->input->post('url')
    );
}

面向对象的方法是这样的:

public function create_portfolio()
{
    $this->confirm_login();

    $this->load->model('portfolio_model');
    $portfolio = new Portfolio(
        $this->input->post('title'),
        $this->input->post('short_description'),
        $this->input->post('complete_description'),
        $this->input->post('github'),
        $this->input->post('url')
    );

    $this->portfolio_model->insert($portfolio);
}

随着雇主越来越多地寻找具有 OOP 技能的人,我正在尝试评估后一种方法是否有效。最后,我拥有的模型最终将访问 Portfolio 对象中的所有实例变量,以便插入数据库(我没有使用 ORM)。

在将所有输入字段传递到模型之前将其实际分组到一个对象中是否有任何意义?我可能以错误的方式表达了这个问题,但我希望您能提供意见。

4

1 回答 1

0

由于您将值传递给构造函数,因此构造函数可能会对输入进行验证以确保其有效或执行某种其他处理,其中

$portfolio->title可能不相等$this->input->post('title');

所以选项2会更好。

于 2012-08-26T21:58:05.190 回答