php - Laravel 默认辅助方法和外观不适用于自定义包
问题描述
我正在开发一个自定义包,我需要访问配置数据。我能够通过刀片文件从配置中提取数据,但是,当我尝试从我创建的任何自定义类中调用它时,它会引发错误:
错误:调用未定义的函数 Acme\Package\config()
不过有趣的是,当我尝试使用外观Illuminate\Support\Facades\Config
时,它找不到类。
有什么方法可以从配置(从包和/或应用程序)中检索数据?
<?php
namespace Acme\Package;
class MyClass {
public function test() {
config('app.name');
}
}
更新:它在浏览器中运行时工作(安装在 Laravel 项目中的包),但在运行包的测试时失败
更新:如果这有帮助,我的包裹可以在这里找到
呼叫config()
是从这里
失败的测试用例可以在这里找到
解决方案
你应该试试这个:
<?php
namespace Acme\Package;
use Config;
class MyClass {
public function test() {
Config::get('app.name');
}
}
更新的答案
config/app.php
请在aliases
部分中添加以下行
'Config' => Illuminate\Support\Facades\Config::class,
然后运行下面的命令
php artisan config:cache
php artisan cache:clear
推荐阅读
- python - 无法使用 Python 通过 socks5 代理发送请求
- amazon-web-services - 直接或通过 AWS Glue 数据目录将 Redshift Spectrum/AWS EMR 与 Hudi 连接
- helmfile - Helmfile - “需要”关键字没有效果
- ssh - 使用 ssh-copy-id 复制您的公钥
- android - 有谁知道 Android Studio 无法识别布局属性的常见原因?
- authentication - laravel 8.x auth 使用不同的表和不同的保护
- ansible - 使用 Ansible 设置一对相互依赖的服务器
- ocaml - 如何命名 OCaml 变体中的字段?
- c++ - C ++如何将字符串(没有空格或分隔符)拆分为数组或向量迷你战舰之类的片段
- javascript - 如何使用 JS 在刀片中一次显示/隐藏一条消息?