Laravel 如何创建自己的扩展包 package
安装laravel之后,我们会根据自己的需要创建自己的扩展包,本文将带你创建属于自己的laravel package 。
1. 创建我们自己的文件包目录
在项目的更目录中创建的 packages 文件夹,与 app 目录同级。
|-app
|-packages
|--- liuning
|----- my-first-laravel-package
|------- src
...
如图:
创建目录很简单,接下来我们初始化 package 包。
2. composer 初始化 package 包
composer init
composer.json 文件创建如下:
# packages/liuning/my-first-laravel-package/composer.json
{
"name": "liuning/my-first-laravel-package",
"description": "liuning's first laravel package",
"authors": [
{
"name": "liuning",
"email": "441380237@qq.com"
}
],
"require": {}
}
注意: composer.json 文件中的 name 和 authors 等信息要根据自己的内容填写。
如果不想走 composer init 也可以直接复制到 packages/liuning/my-first-laravel-package 目录下。到这里初始化 package 包完成。下一步我们要让 laravel 根目录中的composer.json 自动加载 liuning/my-first-laravel-package
3. 配置composer dump-autoload
在 laravel 根目录的 composer.json 文件中配置如下:按照 psr-4 的规范自动加载。
# / 项目跟目录
"autoload": {
"psr-4": {
"App\\": "app/",
"LiuNing\\FirstLaravelPackage\\": "packages/liuning/my-first-laravel-package/src"
}
},
配置好之后,我们需要在 laravel 的根目录下的 composer.json 同目录执行 composer dump-autoload
4. 添加服务容器
服务容器是主要的入口,我们用 artisan 创建一个服务容器。
php artisan make:provider LiuNingLaravelPackageServiceProvider
命令执行完后,会在