gpt4 book ai didi

php - Laravel 5.5 自动发现未注册

转载 作者:可可西里 更新时间:2023-10-31 22:40:13 26 4
gpt4 key购买 nike

我正在安装 spatie\laravel-backup 包。根据说明,我只需要 composer require spatie\laravel-backup 即可识别并自动安装包。看起来是这样的:

Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: spatie/laravel-backup

但是在 /config/app.php 中没有提到 backup 在供应商的任何地方,以及预期的 /config/backup.php 未找到配置文件。

是否需要发出任何其他命令来完成自动发现?

最佳答案

But looking in /config/app.php there's no mention of backup anywhere in the providers, and the expected /config/backup.php configuration file isn't found.

Laravel 5.5 在发现包时不会修改你的配置文件。当手动注册包的服务时,我们只需要将服务提供者条目和外观别名添加到config/app.php

包发现通过读取 vendor/composer/installed.json 来查找可自动加载的包。然后它保存一个缓存的 list 文件,应用程序在启动时读取该文件以加载包提供程序和别名(通常在 bootstrap/cache/packages.php 中)。

我们可以通过运行重新加载这个缓存的包 list 文件:

php artisan package:discover

包发现发布包的 Assets ,例如您描述的配置文件。开发人员必须显式运行 vendor:publish 命令:

php artisan vendor:publish --provider='Spatie\Backup\BackupServiceProvider'

此限制是设计使然。 Laravel 无法知道开发者是否想要发布一个包的组件,因为在很多情况下,包提供可选组件,开发者可以选择发布哪些组件。

关于php - Laravel 5.5 自动发现未注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46877662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com