我理解我得到的错误,但无法理解为什么......
所以这是我的问题以及为什么我收到此错误:
1 /我有一个php变量maxY
,它给我的路径,我需要找到我的$wdep
文件(css,js,lib和img):
/web
2 /现在,当我根据Twig文档注册我的if($_SERVER['SERVER_NAME'] == "127.0.0.1"){
$wdep = "../../_wdep/v2/mywebsite/";
} else {
$wdep = "https://wdep ... /v2/mywebsite/"; // I cut some info but the link is valid
}
时,我无法使用我的css,js等:
Twig Provider
这很有效,但是在我的模板中,但是当使用$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__.'/../views',
));
$app->register(new Silex\Provider\AssetServiceProvider(), array(
'assets.version' => 'v1',
));
函数时,它不起作用:它是正常的,因为我需要添加asset()
路径来获取它,所以这个
$wdep
不能工作。
3 /根据有关<link type="text/css" rel="stylesheet" href="{{ asset('/lib/bootstrap/css/bootstrap.css') }}" />
<script type="text/javascript" src="{{ asset('/lib/jquery/jquery-3.3.1.min.js') }}"></script>
<img src="{{ asset('/img/logo/logo.png') }}" alt="Logo">
函数(here)的文档,我尝试过这些
asset()
OR
$app->register(new Silex\Provider\AssetServiceProvider(), array(
'assets.version' => 'v1',
'assets.base_urls' => $wdep
));
得到我的$app->register(new Silex\Provider\AssetServiceProvider(), array(
'assets.version' => 'v1',
'assets.named_packages' => array(
'css' => array('base_urls' => array($wdep)),
'img' => array('base_urls' => array($wdep)),
'js' => array('base_urls' => array($wdep)),
'lib' => array('base_urls' => array($wdep)),
),
));
错误...
也许我错过了一些内容,但是您知道为什么以及如何将Cannot override frozen service "twig.app_variable"
添加到我的$wdep
函数中以使其正常运行?
答案 0 :(得分:0)
我使用我在注册TwigServiceProvider()
和AssetServiceProvider()
后添加的这一行解决了我的问题:
$app['assets.base_path'] = $wdep;
我使用了一些var_dump($app)
来查找它,但我想了解为什么在注册AssetServiceProvider()
时我无法执行此操作?