本地进行开发引入自己写的扩展类
在本地 Laravel 下的 composer.json
文件里添加上 autoload
"autoload": {
"psr-4": {
"App\\": "app/",
"Whiteki\\Avatar\\": "packages/whiteki/avatar/src/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
添加完成后需要在 Laravel 项目下执行 composer dumpautoload
自动加载类
在扩展包下的 composer.json
文件里添加上 autoload
"autoload": {
"psr-4": {
"Whiteki\\Avatar\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Whiteki\\Avatar\\": "src/"
}
},
引入 Laravel 里的 Provider 和 Facade
在扩展包的 composer.json
文件里添加上 require ,具体的版本号可以在 Laravel 里的 vendor 文件夹下的
"require": {
"illuminate/support": "~5.1|^6.0"
},
自动注册 Facade 和 Provider
在扩展包的 composer.json
文件里添加上 extra
"extra": {
"laravel": {
"providers": [
"Whiteki\\Avatar\\AvatarProvider"
],
"aliases": {
"Avatar": "Whiteki\\Avatar\\Facades\\Avatar"
}
}
}
发布资源到 Laravel 里
使用 composer 安装完成后使用 php artisan vendor:publish 可以找到自己写的 AvatarProvider
$ php artisan vendor:publish
Which provider or tag's files would you like to publish?:
[0 ] Publish files from all providers and tags listed below
[1 ] Provider: BeyondCode\DumpServer\DumpServerServiceProvider
[2 ] Provider: Fideloper\Proxy\TrustedProxyServiceProvider
[3 ] Provider: Illuminate\Foundation\Providers\FoundationServiceProvider
[4 ] Provider: Illuminate\Mail\MailServiceProvider
[5 ] Provider: Illuminate\Notifications\NotificationServiceProvider
[6 ] Provider: Illuminate\Pagination\PaginationServiceProvider
[7 ] Provider: Laravel\Tinker\TinkerServiceProvider
[8 ] Provider: Whiteki\Avatar\AvatarProvider
[9 ] Tag: config
[10] Tag: laravel-errors
[11] Tag: laravel-mail
[12] Tag: laravel-notifications
[13] Tag: laravel-pagination
>