我有一个包文件夹,我在其中创建一个类来帮助我使用API。 但我收到以下错误
Class' Notflip \ Teamleader \ Company'找不到
我尝试使用
访问公司课程$companies = new Teamleader\Company();
这是我的文件夹结构
这是我项目根目录中的composer.json
"psr-4": {
"App\\": "app/",
"Notflip\\Teamleader\\": "package/Notflip/Teamleader/src"
}
这是我的公司课程
<?php namespace Notflip\Teamleader;
use Notflip\Teamleader;
class Company extends Teamleader {
public function all()
{
return $this->api("getCompanies", ['amount' => 20,'pageno' => 0]);
}
}
答案 0 :(得分:2)
您自己会感到困惑,因为您在命名空间定义中有Teamleader,然后是Teamleader文件和文件夹。 Notflip\Teamleader\Company
指的是src文件夹中的公司文件。
我建议你编辑你的作曲家文件:
"psr-4": {
"App\\": "app/",
"Notflip\\": "package/Notflip/Teamleader/src"
}
然后将Teamleader.php重命名为Bootstrap.php或Main.php,或类似的东西。对于此示例,我将其重命名为Bootstrap.php。然后在你的Company.php文件中你应该有:
<?php namespace Notflip\Teamleader;
use Notflip\Bootstrap;
class Company extends Bootstrap {
public function all()
{
return $this->api("getCompanies", ['amount' => 20,'pageno' => 0]);
}
}
最后你对公司的打电话应该是这样的:
$companies = new \Notflip\Teamleader\Company;
如果您没有传递任何参数,Laravel的标准做法是忽略新类调用结束时的括号。