0

我试图将一个长文件分成更小的块,所以我创建了一个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
4

1 回答 1

2

首先,要么运行composer update要么composer dump-autoload生成自动加载系统。

接下来,确保在入口点的顶部包含(最好是 require_once)自动加载:

require_once __DIR__ . '/path/to/vendor/autoload.php';

注意:如果您有 PHP 5.3 或更低版本,请替换__DIR__dirname(__FILE__).

于 2015-01-10T18:23:29.727 回答