我想将Silex与MongoDB一起使用.我想最好的方法是使用Silex Extension再次使用Doctrine MongoDB库.
现在有两个Silex Extensions似乎提供了这个功能. https://github.com/fate/Silex-Extensions 和 https://github.com/docteurklein/SilexExtensions
除了第一个带来更多其他扩展,第二个使用子模块(我更喜欢)而不是vendors.sh,还有更多的事情要处理吗?
任何人都可以推荐这一个吗?
我尝试将Twig-extensions加载到Silex但得到一个:
找不到'Twig_Extensions_Extension_Text'
我首先在自动加载器中注册Twig-Extensions:
$app['autoloader']->registerPrefixes(array( 'Twig_' => array(__DIR__.'/../vendor/Twig-extensions/fabpot/lib')));
Run Code Online (Sandbox Code Playgroud)
然后注册Twig:
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__ . '/../views',
'twig.class_path' => __DIR__ . '/../vendor/twig/lib',
));
Run Code Online (Sandbox Code Playgroud)
并添加扩展名.
$oldTwigConfiguration = isset($app['twig.configure']) ? $app['twig.configure']: function(){};
$app['twig.configure'] = $app->protect(function($twig) use ($oldTwigConfiguration) {
$oldTwigConfiguration($twig);
$twig->addExtension(new Twig_Extensions_Extension_Text());
});
Run Code Online (Sandbox Code Playgroud)
Pathes似乎是正确的,Twig本身也很好.
任何的想法?
我可以看到Assetic在CacheBusting上取得了一些进展:https:
//github.com/kriswallsmith/assetic#cache-busting
但我真的不明白我应该如何使用它.
这可以在树枝内使用:
{% stylesheets 'bundles/mybundle/css/fonts.css'
'bundles/mybundle/css/style.css'
'bundles/mybundle/css/screen.css'
filter='cssrewrite'
%}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
用通常的assetic:dump命令?
我必须在哪里挂钩CacheBustingWorker?
在twig中是否可以在布局中获取子模板的名称?举例来说:
$app['twig']->render('index.twig');
Run Code Online (Sandbox Code Playgroud)
然后在layout.twig中,这是主要的布局,它应该问:
if page is index.twig => include this javascript
Run Code Online (Sandbox Code Playgroud)
我可以在渲染调用中使用其他变量来执行此操作,但这似乎很臃肿,因为模板名称已经表明它.