【发布时间】:2018-03-24 13:50:43
【问题描述】:
在我的控制器中,我尝试使用位于 App 目录中的 PHP 文件。
我的控制器看起来像
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\MyClass\API;
public function getservices(Request $request)
{
$sourcename = request('sName');
$password = request('password');
$siteID = request('siteID');
// initialize default credentials
$creds = new SourceCredentials($sourcename, $password,
array($siteID));
SourceCredentials 类在 API.PHP 文件中,位于 App\MyClass\API,这是 API.PHP
namespace App\MyClass;
class SourceCredentials
{
public $SourceName;
public $Password;
public $SiteIDs;
//some other stuffs
当我使用路由向控制器发出 POST 请求时,我收到此错误 -
找不到类“App\Http\Controllers\SourceCredentials”
我在这里犯了一些错误吗?我已经为 API.PHP 正确命名了命名空间,并且在我的控制器中使用了该命名空间。请帮忙。
【问题讨论】:
-
注意:
SourceCredentials是一个类,而不是一个函数。 -
是的,但是我的API.PHP文件有不止一个类,SourceCredentials就是其中之一
-
拆分该文件并将每个类保存在其自己的文件中,并与该类同名(包括相同的大小写)。然后确保你的文件中有正确的命名空间,你将能够使用 Laravel 自动加载器加载你想要的类。
-
谢谢。我这样做了,它有效,但我还有另一个问题。我无法使用与该类相关的功能。我已经在扩展控制器类,我无法扩展另一个类来使用该功能
-
我不明白你的意思。如果您有新的(不同的)问题,请创建一个包含所有信息和示例的新问题。
标签: php laravel laravel-5 autoload