我正在尝试将一个长文件拆分成较小的块,所以我创建了一个src
文件夹,并尝试从主Extension.php
文件引用它(加载并正常工作,顺便说一句。)
因此,我将src
文件夹添加到psr-4自动加载阵列:
"psr-4": {
"Bolt\\Extension\\AndyJessop\\SurveyMonkey\\": [
"",
"src/"
]
}
我在Test.php
:
src
文件
<?php
namespace Bolt\Extension\AndyJessop\SurveyMonkey;
class Test
{
public function test() {
return 'success';
}
}
在Extension.php
文件(位于同一名称空间下)中,我有一个名为的函数:
use Bolt\Extension\AndyJessop\SurveyMonkey\Test;
public function testing(){
return Test::test();
}
但是我收到以下错误:
Error: Class 'Bolt\Extension\AndyJessop\SurveyMonkey\Test' not found
File: extensions/local/andyjessop/surveymonkey/Extension.php
答案 0 :(得分:2)
首先,运行composer update
或composer dump-autoload
以生成自动加载系统。
接下来,请确保在入口点的顶部包含(最好是require_once)自动加载:
require_once __DIR__ . '/path/to/vendor/autoload.php';
N.B。:如果您使用的是PHP 5.3或更低版本,请将__DIR__
替换为dirname(__FILE__)
。