laravel框架服务没有被加载?

发布于 2022-09-04 22:35:41 字数 1213 浏览 18 评论 0

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

<?php

namespace App\Library\ViewComposer;

use Illuminate\Support\ServiceProvider;

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

    public function register() {

    }

}

我的服务是:

<?php

namespace App\Library\ViewComposer;

use Illuminate\Contracts\View\View;

//use Illuminate\Http\Request;

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文件的内容还可以正常显示页面呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜清冷一曲。 2022-09-11 22:35:41

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文