Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 何时使用单件?_Php_Model View Controller_Singleton_Controller - Fatal编程技术网

Php 何时使用单件?

Php 何时使用单件?,php,model-view-controller,singleton,controller,Php,Model View Controller,Singleton,Controller,我有以下代码: class MyController { public function newUserAction() { $view = new View('myfrontend'); if($this->request->isPost()) { $form = new MyForm; $posts = $this->request->getPosts(); if($form->isVali

我有以下代码:

class MyController {
public function newUserAction()
{
    $view = new View('myfrontend');
    if($this->request->isPost())
    {
        $form = new MyForm;
        $posts = $this->request->getPosts();
        if($form->isValid($posts))
        {
            //...
        }
    }
    $view->display();
}
}

因此,每当表单填写不正确时,流程就会再次启动,因此每次出现“新视图('myfrontend')”等。但这是件好事吗?一次又一次地拥有一个新的视图对象

在这里和单身汉一起工作不是更好吗?

永远不会。就这么简单。 再次显示无效表单时,无论如何都必须重新提交该表单。这将是一个全新的要求。应用程序将经历完全引导和分派。在这里,单例是没有帮助的,因为PHP中的单例也只能用于请求

另外,。我还没有遇到一个用例,在使用时无法避免使用单例。即使是独生子女模式的发明者之一,如今也怀疑这种模式:


避免单行句最好。

如果一个对象不需要实例化一次以上,就可以考虑用静态方法声明类。

参见讨论这种模式,现在越来越多的人开始调用SuntLon反模式,你应该尽量避免使用它。