其中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; });
$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; });
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/xinguimeng/article/details/48114635