【发布时间】:2012-10-22 03:14:46
【问题描述】:
我使用 Codeigniter 已经有一段时间了,我希望拥有处理逻辑的业务对象,如下所示:
$comment = new Comment($this->input->post());
$blog = new Blog();
$current_post = $blog->get_current_post();
$current_post->add_comment($comment);
$data['current_post'] = $current_post;
$this->load->view('post_view',$data);
而不是这种方法:
$this->load->model('comment_model');
$this->load->model('blog_model');
$this->load->model('post_model');
$comment = $this->comment_model->create_from_array($this->input->post());
$blog = $this->blog_model->get_blog();
$current_post = $this->post_model->get_current_post($blog);
$this->post_model->add_comment($current_post,$comment);
$data['current_post'] = $current_post;
$this->load->view('post_view',$data);
【问题讨论】:
-
对我来说毫无意义。面向对象是服务器的错误范例。我仍然记得 Java Enterprise Beans 的恐怖。 CI 方法实际上是单例(设计模式)的方法(每个负载都扩展了单例层次结构)。这更有意义。仍然很奇怪,但可行的奇怪。服务器的一个很好的比喻是电子电路,转换逻辑(电路板)是硬连线的,请求(输入)被转换为响应(输出)。除此之外:)你的问题很模糊。你需要什么样的答案?
-
我发现最接近的解决方案是[这里][1] [1]:stackoverflow.com/a/10803244/385402
-
@PatrickSavalle 这是一个真正的问题,关于使用对象(我们自己的对象)做一些动作,它的问题有完美的逻辑,我留在这里同样的问题。
标签: php codeigniter activerecord business-logic