我的网站在localhost中看起来很完美,但是当我迁移到Production服务器时,它显示在错误:
之下The use statement with non-compound name 'Config' has no effect
我在我的视图文件中使用了我的配置变量,如下所示:
@extends('layout.default')
@section('content')
<section>
<?php
use \Config;
?>
<div id="content-wrap">
<div class="container">
<img src="<?php echo Config::get("app.images_url")?>assets/data/icon-s1.png" alt="service">
</div>
</div>
</body>
</section>
@stop
本地主机: Laravel 5.1.20和PHP版本5.5.9
生产: Laravel 5.1.20和PHP版本5.5.30
答案 0 :(得分:2)
您可以在不首先声明的情况下使用该类。因此,首先删除use \Config
,然后将其添加到src
:
{{ Config::get('app.imagss_url`) }}
你应该尽可能使用刀片代码而不是PHP。
答案 1 :(得分:2)
由于在非命名空间代码中使用了非复合命名空间,因此在PHP的更高版本中会出现此错误。
基本上,当您在根命名空间中时,如果使用完全限定的命名空间访问根命名空间中的某些内容,PHP会抱怨。
要解决此问题,您可以执行以下操作之一:
删除use \Config;
将use \Config;
更改为use Config;
从控制器将路径值注入您的刀片模板(从而完全取消对模板中配置类的引用)
最好的解决方案可能是最后一个。模板仅用于显示 - 传递您想要显示的值,而不是引入任何逻辑。这可以使您的代码更易于维护。
答案 2 :(得分:2)
Laravel 5中有一个名为config
您可以像这样使用它:
@extends('layout.default')
@section('content')
<section>
<div id="content-wrap">
<div class="container">
<img src="{!! config('app.images_url').'/assets/data/icon-s1.png' !!}" alt="service">
</div>
</div>
</section>
@stop