在composer.json的extra字段中配置laravel的providers和aliases;2. 确保服务提供者继承IlluminateSupportServiceProvider;3. 将包发布到Packagist;4. 在Laravel项目中安装后运行php artisan package:discover验证自动发现是否生效。

要让你的 Composer 包被 Laravel 框架自动发现,只需在 composer.json 文件中配置 extra 字段,启用 Laravel 的自动发现机制。
Laravel 通过读取包的 composer.json 中的 extra.laravel 字段来自动注册服务提供者(Service Provider)和门面(Facade)。你需要在包的根目录下的 composer.json 中添加如下内容:
{
"name": "your-vendor/your-package",
"type": "library",
"require": {
"php": "^8.0"
},
"extra": {
"laravel": {
"providers": [
"YourVendor\YourPackage\ServiceProvider"
],
"aliases": {
"YourAlias": "YourVendor\YourPackage\Facades\YourFacade"
}
}
}
}
其中:
你的服务提供者类(如 ServiceProvider.php)必须继承 IlluminateSupportServiceProvider,并正确实现注册逻辑,例如绑定服务到容器或注册中间件等。
立即进入“豆包AI人工智官网入口”;
立即学习“豆包AI人工智能在线问答入口”;
<?php
namespace YourVendorYourPackage;
use IlluminateSupportServiceProvider as BaseServiceProvider;
class ServiceProvider extends BaseServiceProvider
{
public function register()
{
// 注册服务
}
public function boot()
{
// 启动服务,比如发布配置、路由、视图等
}
}
将你的包提交到 Packagist,这样 Laravel 项目在执行 composer require your-vendor/your-package 时就能自动识别并启用自动发现功能。
在 Laravel 项目中安装你的包后,运行以下命令查看是否被识别:
php artisan package:discover
如果一切正常,你会在输出中看到你的服务提供者被注册。
基本上就这些。只要配置正确,Laravel 就会自动加载你的服务,无需用户手动添加到 config/app.php 中。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号