辛星浅析phalcon中常用的依赖注入

前端之家收集整理的这篇文章主要介绍了辛星浅析phalcon中常用的依赖注入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

其中phalcon也使用了依赖注入,而且phalcon在启动的过程中,需要使用很多的类,这些类都是通过依赖注入来进行配置的,然后通过加载器来载入的,下面介绍一下对于经常需要注入的服务。

对于路由器router,它负责解析url参数,该类文件是 \Phalcon\Mvc\Router,它的add参数类配置一个路由,下面是一个添加的范例:

$di->set('router',function () {  
  
            $router = new \Phalcon\Mvc\Router();  
  
            $router->add("/:module/:controller/:action/:params",array(  
                'module' => 1,'controller' => 2,'action' => 3,'params' => 4,));  
            $router->setDefaultModule("entrance");  
            $router->setDefaultController("index");  
            $router->setDefaultAction("index");  
            $router->notFound(  
                array(  
                    "module" => "entrance","controller" => "index","action" => "index",)  
            );  
            return $router;  
 }  

对于视图view,一般我们常规的配置的范例如下:

$di->set('view',function () {  
            $view = new \Phalcon\Mvc\View();  
            $view->setBasePath('./entrance/');  
            $view->setViewsDir('./views/');  
            $view->registerEngines(array(  
                '.volt' => 'Phalcon\Mvc\View\Engine\Volt',".phtml" => 'Phalcon\Mvc\View\Engine\PHP',));  
            return $view;  
        }); 

对于url,我们需要加上,它的主要目的是避免跳转的时候出问题,常规配置:

$di->set('url',function () {  
            $url = new Phalcon\Mvc\Url();  
            $url->setBaseUri('/star/');  
            return $url;  
        }); 

对于session,也给一个范例吧:


$di->setShared('session',function () {  
            $session = new Phalcon\Session\Adapter\Files();  
            $session->start();  
            return $session;  
        });  

猜你在找的设计模式相关文章