php - laravel框架服务没有被加载?
巴扎黑
巴扎黑 2017-05-16 12:02:18
0
1
379

我打算在视图被渲染前执行一些操作:判断用户权限和显示菜单等.
但是现在遇到了一个问题,
我的操作过程是:
先在app.php的providers中添加:
AppLibraryViewComposerComposerServiceProvider::class,
然后在app/Library/ViewComposer目录下新建了服务提供者:
<?php

namespace AppLibraryViewComposer;

use IlluminateSupportServiceProvider;

class ComposerServiceProvider extends ServiceProvider {

/**
 * Bootstrap the application services.
 *
 * @return void
 */
public function boot() {
    // 使用对象型态的视图组件...
    view()->composer(
            '*', 'App\Library\ViewComposer\ViewComposer'
    );

public function register() {

}

}
我的服务是:
<?php

namespace AppLibraryViewComposer;

use IlluminateContractsViewView;

//use IlluminateHttpRequest;

class ViewComposer {

public function __construct() {
    echo 1111;
    exit;
}

public function compose(View $view) {
    echo 1111;
    exit;
}

}
但是我在前台,无论怎么样,都无法触发echo 1111;事实上,我认为我的这个服务根本没有被加载,我删除了app.php文件内的所有内容,但是前台页面依然可以正常显示,app.php里的providers数组不是每次请求都被加载吗?没理由不加载我的ComposerServiceProvider啊,而且为什么删除了app.php文件的内容还可以正常显示页面呢?

巴扎黑
巴扎黑

全部回复(1)
左手右手慢动作

刚刚按你的描述重现了一下,发现运行成功了。
按楼主你的说法,删除app.php文件里面的内容还是可以运行的话,那楼主可以去尝试一下修改index.php文件,在第一行加上die,看看是否可以运行,个人认为是否是因为修改错项目导致这种情况的发生。
还有,以后发表题目的时候,请注意一下格式规范。不然很难看懂。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板