Php Silex,使用服务中的细枝

Php Silex,使用服务中的细枝,php,twig,silex,pimple,Php,Twig,Silex,Pimple,我正在用Silex创建一个应用程序。我想在我的服务中使用Twig来呈现模板,这是由Pimple加载的。我需要这个给邮递员上课 我开始基于silex skeleton编写应用程序,所以我在$app['twig'中有一个细枝环境。问题是,当我想将其传递到服务中时: //app.php $app['someModel'] = function ($app) { return new someModel($app['twig']); }; 当我写这样的东西时,twig停止了工作。我的所有子页面

我正在用Silex创建一个应用程序。我想在我的服务中使用Twig来呈现模板,这是由Pimple加载的。我需要这个给邮递员上课

我开始基于silex skeleton编写应用程序,所以我在$app['twig'中有一个细枝环境。问题是,当我想将其传递到服务中时:

//app.php
$app['someModel'] = function ($app) {
    return new someModel($app['twig']);
};
当我写这样的东西时,twig停止了工作。我的所有子页面都显示:

Twig\u错误\u加载程序:未定义模板path.html.Twig

我尝试了另一个技巧:

//app.php
$app['someModel'] = function ($app) {
    return new someModel($app);
};

//someModel.php
class SomeModel
{
    private $twig;

    public function __construct($app)
    {
        $this->twig = $app['twig'];
    }
}
但这也会折断树枝。我尝试将$app['twig']分配并克隆到另一个变量,然后它也发生了

//app.php
$variable = $app['twig']

//app.php
$variable = clone $app['twig']
如何在Silex中使用正在使用的细枝

$app->register(new Silex\Provider\TwigServiceProvider(), 
  array('twig.path' => __DIR__.'/views',
));

要获得更多信息,请查看。

我已经注册了树枝提供商,如,并且我的网站正常工作。问题是,当我尝试将其放入服务时,细枝断裂。你说的“细枝断裂”是什么意思?当我通过pimple将$app['twig']放入服务时,我的所有子页面在正常工作之前都会显示:twig\u Error\u Loader:Template path.html.twig未定义。我假设您在依赖项注入方面有问题,正确的方法如下:使用Silex\Application;类示例{protected$app=null;公共函数uu constructApplication$app{$this->app=$app;}