开发拓展包 Provider 自动注册问题

最近在尝试将一款个人开发工具开发成 Laravel 拓展包,遇到了 Provider 自动加载的问题。
阅读 Laravel 5.8 中文文档-拓展包开发 得知,可以将服务提供者定义到扩展包中。
对比自己使用拓展包的体验,composer require 之后就可直接使用的拓展包,使用体验确实优秀很多。故希望实现自动引入 Provider 的功能。
参照 文档 及 诸个优秀拓展包修改了拓展包的 composer.json ,却无法实现自动引入的功能。手动在 config/app.php 中引入 Provider 的话,相应功能均已实现。请问这是哪里出了问题。 composer.json 内容如下

{
  "name": "curator/layui-blade",
  "description": "Quickly build the layui skeleton",
  "type": "library",
  "license": "MIT",
  "authors": [
    {
      "name": "Curator",
      "email": "mail@houyining.com"
    }
  ],
  "minimum-stability": "dev",
  "require": {
    "php": ">=7.0.0"
  },
  "autoload": {
    "classmap": [
      "src/"
    ],
    "psr-0": {
      "Curator\\LayuiBlade": "src/"
    }
  },
  "extra": {
    "laravel": {
      "providers": [
        "Curator\\LayuiBlade\\LayuiBladeServiceProvider"
      ]
    }
  }
}

忠诚,秩序,卓越,博爱,开拓

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 3
Epona

composer dumpautoload 之后,可以看一下bootstrap/cache/packages.php文件里有没有你的包信息,如果没有说明哪里出错了

3个月前 评论
curator (楼主) 3个月前
<?php

namespace Curator\LayuiBlade;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Route;

class LayuiBladeServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap services.
     *
     * @return void
     */

    public function boot()
    {
        // 指定视图目录
        $this->loadViewsFrom(__DIR__.'/views', 'layui-blade');

        // 发布配置资源
        $this->publishes([
            __DIR__.'/config/layui_blade.php' => config_path('layui_blade.php'),
        ]);
    }

    /**
     * Register services.
     * @return void
     */

    public function register()
    {
        // 加载路由文件
        Route::group([
            'middleware' => 'web',
        ], function () {
            $this->loadRoutesFrom(__DIR__.'/routes.php');
        });

        $this->app->singleton(LayuiBlade::class, function ($app) {
            return new LayuiBlade($app['config']['layui_blade']);
        });
    }
}
3个月前 评论
Epona 3个月前
curator (作者) (楼主) 3个月前

试试这样

"psr-4": {
      "Curator\\LayuiBlade\\": "src/"
    }
3个月前 评论
curator (楼主) 3个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!