【发布时间】:2020-11-19 08:12:39
【问题描述】:
我在 Laravel 控制器中遇到问题,我不确定从哪里开始进行故障排除。基本上 2 个单独的方法正在调用同一个外部类; process 方法有效,但是在调用 process3d 时遇到错误 class 'App\Services\PaymentGateway\Gateway\RequestGatewayEntryPointList' not found.
DebugController.php
namespace App\Http\Controllers;
use App\Services\PaymentGateway\Gateway\RequestGatewayEntryPointList;
...
public function process(Request $request) {
...
$rgeplRequestGatewayEntryPointList = new RequestGatewayEntryPointList;
...
}
public function process3d(Request $request) {
...
$rgeplRequestGatewayEntryPointList = new RequestGatewayEntryPointList;
...
}
PaymentSystem.php
namespace App\Services\PaymentGateway\Gateway;
...
class RequestGatewayEntryPointList {
...
}
我省略了不相关的代码以保持问题简短,但如果有帮助,我当然很乐意提供更多详细信息。
发生了什么事?
【问题讨论】:
-
你在同一个控制器中使用这两个函数,
DebugController.php? -
是的,只是为了澄清-我是。然而,在 process 方法中,我引入了 PaymentSystem.php 文件,我忘记为 process3d 方法引入该文件。这就是问题所在。
-
嗯,这是否意味着您在每个函数中都调用了“require_once”?如果是这样,那可能会起作用,但它绝对不是最好的方法,文件应该通过 composer 自动加载,并通过
use语句(如RequestGatewayEntryPointList)包含在控制器中
标签: php laravel namespaces