关于Laravel5.5增加的新功能——包自动发现

在Laravel5.5中,增加了一个新功能,就是支持包自动发现,这个有什么用呢,结合JWT的文档来说明会更好一些。

JWT文档地址:https://jwt-auth.readthedocs.io

image.png

可以看到在Laravel 5.4或者更低的版本当中,我们composer扩展包之后,同时还得需要将provider加到配置文件当中去,但是在更高的Laravel版本上,就不再需要这一步了,框架将会自动帮你注册包的服务提供器并启用。

这是因为包的开发者可以在composer.json中加入下图中的一段,用来告诉框架应该注册哪些服务提供器或者它们的外观。

    "extra": {
        "branch-alias": {
            "dev-develop": "1.0-dev"
        },
        "laravel": {
            "aliases": {
                "JWTAuth": "Tymon\\JWTAuth\\Facades\\JWTAuth",
                "JWTFactory": "Tymon\\JWTAuth\\Facades\\JWTFactory"
            },
            "providers": [
                "Tymon\\JWTAuth\\Providers\\LaravelServiceProvider"
            ]
        }
    },

备注: 这里的composer.json并不是我们项目根目录下,而是对应的扩展包目录下的composer.json

/my-project/vendor/tymon/jwt-auth/composer.json

参考链接:

https://laravel-china.org/articles/4901/laravel-55-supports-packet-discovery-automatically

你可能感兴趣的:(关于Laravel5.5增加的新功能——包自动发现)