laravel 扩展包开发
2021-11-20 本文已影响0人
php_bruce
laravel 扩展包开发记录
首先整体结构如下图:

1. 在项目根目录创建 packages/cxp/avatar/src/ 路径的目录;
2. 到 composer.json 中 配置扩展包路径后, 并执行
composer dumpo-autoload

3. 在src/ 下创建 Avatar.php 类(扩展类, 业务实现)

4. 在src/ 下 创建 AvatarProvider.php
用于将 服务类注册到容器内; 以及发布配置文件

5. 在src 下创建 config 文件夹, 并创建 avatar.php

6. 在src 下创建 Facades 文件夹, 并在其目录下创建 Avatar.php

7. 在app/config 下的app.php 中的
a. provides 数组中增加
Cxp\Avatar\AvatarProvider::class,
b. 以及在 aliases 数组中
"Avatar" => Cxp\Avatar\Facades\Avatar::class
8. 发布配置文件
php artisan vendor:publish
选择我们要发布的扩展, 故输入 1

这时就可以在 app/config/ 下看到 avatar.php;
9. 使用;
在任意希望使用的文件中调用
use Cxp\Avatar\Facades\Avatar;
使用:
Avatar::getAvatar()
