2
我一直在使用笨了一段時間,我想有一個處理邏輯,像這樣的業務對象:如何使用業務對象在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 appraoch實際上是一個Singleton(設計模式)(每個負載都擴展了Singleton層次結構)。這更有意義。仍然奇怪,但可行奇怪。服務器的一個很好的比喻是電子電路,轉換邏輯(電路板)硬連線,請求(輸入)被轉換爲響應(輸出)。 除此之外:)你的問題是模糊的。你需要什麼樣的答案? –
我發現最接近的解決方案是[這裏] [1] [1]:http://stackoverflow.com/a/10803244/385402 –
@PatrickSavalle它是一個真正的問題,對使用對象(我們自己的對象)做一些行動,它的問題有完全的邏輯,我留在這兒也遇到同樣的問題。 – 2016-03-31 17:59:14