辛星浅析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;  
        });  






版权声明:本文为xinguimeng原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。