这是我第一次尝试加载没有使用Laravel服务提供商或外观的Composer软件包。
我正在尝试安装此软件包: https://github.com/mollie/mollie-api-php
我已按照步骤使用Composer安装软件包。
在我的控制器顶部,我添加了:
sysmail_add_account_sp
我收到以下错误:
main():无法打开所需的' ../ vendor / Mollie / API / Client.php' (包含路径=':/应用程序/ MAMP / bin中/ PHP / php7.0.0 / LIB / PHP&#39)
无法找到该文件。即使错误中的路径是类所在的路径。我应该采取更多步骤吗?
包的结构:
包中的 require_once base_path('vendor/Mollie/API/Client.php');
:
composer.json
更新 我的控制器有这个命名空间
"autoload": {
"psr-0": {
"": "src/"
}
因此,当我尝试新建课程时,显然无法在该命名空间内找到该课程。那么如何忽略1类
的命名空间因为这不适用于此控制器:
namespace App\Http\Controllers;
答案 0 :(得分:5)
正如评论中所述,Composer会为您处理自动加载 - 手动重新要求它是不必要的,实际上可能会导致问题。
我的控制器有一个命名空间,所以它试图从命名空间加载该类,我怎么忽略它为1个类?
您可以使用前导\来引用该类,即new \Mollie_API_Client
,它将告诉PHP查看根目录而不是控制器的名称空间。
您还可以将use Mollie_API_Client;
放在文件的顶部以完成类似的操作。出于这个原因,你会在很多Laravel文件的顶部看到use
个语句。