&引用;类别';App\Http\Controllers\getID3';“未找到”;尝试在Laravel 5中包含PHP文件时

&引用;类别';App\Http\Controllers\getID3';“未找到”;尝试在Laravel 5中包含PHP文件时,php,class,laravel,classnotfound,Php,Class,Laravel,Classnotfound,我正在使用带有Laravel项目的getid3库。 我在app/目录中创建了一个名为“includes”的文件夹,并在其中创建了一个名为getid3的文件夹,其中包含了一组php文件,其中包括驻留在该目录中的getid3.php文件。 以下是Github上的文件内容和库:- 在控制器中,当我尝试实例化该文件中定义的getID3类时,我得到以下错误:- FatalErrorException in ApiV1.php line 217: Class 'App\Http\Controllers\g

我正在使用带有Laravel项目的getid3库。 我在app/目录中创建了一个名为“includes”的文件夹,并在其中创建了一个名为getid3的文件夹,其中包含了一组php文件,其中包括驻留在该目录中的getid3.php文件。 以下是Github上的文件内容和库:-

在控制器中,当我尝试实例化该文件中定义的getID3类时,我得到以下错误:-

FatalErrorException in ApiV1.php line 217:
Class 'App\Http\Controllers\getID3' not found
下面是控制器中的代码块,我试图在其中实例化该类

ob_start();
if ($fp_output = fopen($FilenameOut, 'wb')) {

    ob_end_clean();
    // Initialize getID3 engine
    $getID3 = new  \getID3;
    foreach ($FilenamesIn as $nextinputfilename) {

        $CurrentFileInfo = $getID3->analyze($nextinputfilename);
        if ($CurrentFileInfo['fileformat'] == 'mp3') {

如何解决此错误?

您的类已在根命名空间中定义,您需要在类名之前添加一个
\
。否则php会认为它与当前类位于同一名称空间中,当前为
App\Http\Controllers

你应该这样做:

$id3 = new \getID3;

当我添加反斜杠时,错误变成:ApiV1.php第107行中的FatalErrorException:Class'App\Http\Controllers\App'找不到您可以显示该行中的代码吗?如果您正在调用
App
,还需要在其前面添加反斜杠<代码>\App。。。。。。。。。。。。。。。。。。。ob_start();if($fp_output=fopen($FilenameOut,'wb')){ob_end_clean();//初始化getID3引擎$getID3=new\getID3;…..…foreach($nextinputfilename为$nextinputfilename){$CurrentFileInfo=$getID3->analyze($nextinputfilename);if($CurrentFileInfo['fileformat']='mp3')){………..您可以在您的问题中添加
ApiV1.php
中的代码,因为这很难阅读。或者创建另一个github blob.Done。顺便说一句,问题本身就解决了,然后我清除了Laravel项目的缓存,问题再次返回。您认为为什么会发生这种情况?代码b中的第107行在哪里lock?显然是初始化getID3类的那一行:)。$getID3=new\getID3;@Jerodev抱歉,第107行是\App::make('url')->to(“/audiofiles/$enAudioTitle.mp3”);当我添加反斜杠时,问题得到了解决。反斜杠还解决了主要错误。标记为正确答案。谢谢:)