Php 如何在micro phalcon应用程序中设置服务DI的DI?当使用服务设置DI不起作用时,如何处理该应用程序?
如何在micro phalcon应用程序中设置服务DI的DI?当使用服务设置DI不起作用时,如何处理该应用程序Php 如何在micro phalcon应用程序中设置服务DI的DI?当使用服务设置DI不起作用时,如何处理该应用程序?,php,phalcon,Php,Phalcon,如何在micro phalcon应用程序中设置服务DI的DI?当使用服务设置DI不起作用时,如何处理该应用程序 use Phalcon\Mvc\Micro; use Phalcon\DI\FactoryDefault; use Commonapi\App\Library\ApiServices as ApiServices; class Bootstrap { public function run($opt){ $app = new
use Phalcon\Mvc\Micro;
use Phalcon\DI\FactoryDefault;
use Commonapi\App\Library\ApiServices as ApiServices;
class Bootstrap
{
public function run($opt){
$app = new Micro();
foreach ($loaders as $service) {
$function = 'init' . ucfirst($service);
$this->{$function}($app);
}
$services = new ApiServices($this->di);
$app->setDI($services->di);
return $app->handle();
}
//have loaded config,routes,loader by separate functions
为什么要将
$app
传递给$function
?什么不起作用?有什么错误吗?也许你可以这样做:
foreach ($loaders as $service) {
$function = 'init' . ucfirst($service);
$this->{$function}();
}
$services = new ApiServices($this->di);
$app = new Micro($services->di);
return $app->handle();
另外,micro phalcon路由中的ApiServices究竟是什么?需要是pass controller object,才能装载micro object.。因为该应用程序已通过。$this->di['curl']=function(){return new curl();};我为api服务中的类创建了di必须在加载程序之前创建Cro对象,因为它需要传递到路由为什么需要传递到路由?这在文档中的什么位置?控制器中不需要$app。控制器扩展了可注入性,所以您可以访问其中的任何服务。哦,对了,你的意思是
$app->mount
,好吧,但当前的设置有什么不起作用?您还可以在其中定义$loaders