PHP 包括 class 不工作

PHP include class not working

我正在尝试在我的项目中使用 php class 插件。 (Windows)

https://github.com/mhor/php-mediainfo

这是一个非常基本的问题,但我不知道如何解决这个问题。

我的代码:

<?php
    include '/mediainfo/MediaInfo.php';
    $mediaInfo = new MediaInfo();

我得到这个错误:

Fatal error: Class 'MediaInfo' not found in index.php on line 15

/mediainfo/MediaInfo.php:

<?php

namespace Mhor\MediaInfo;

use Mhor\MediaInfo\Builder\MediaInfoCommandBuilder;
use Mhor\MediaInfo\Container\MediaInfoContainer;
use Mhor\MediaInfo\Parser\MediaInfoOutputParser;

class MediaInfo
{
    /**
     * @param $filePath
     * @return MediaInfoContainer
     */
    public function getInfo($filePath)
    {
        $mediaInfoCommandBuilder = new MediaInfoCommandBuilder();
        $output = $mediaInfoCommandBuilder->buildMediaInfoCommandRunner($filePath)->run();

        $mediaInfoOutputParser = new MediaInfoOutputParser();
        $mediaInfoOutputParser->parse($output);

        return $mediaInfoOutputParser->getMediaInfoContainer();
    }
}

我不知道 'Mhor\MediaInfo\'。我刚刚从 Github 下载源代码并将其解压缩到根目录 www /mediainfo:

我尝试了其他一些 class 并得到了同样的错误。


在尝试了 Tanmay Kumar 的建议后:

$mediaInfo =  new \Mhor\MediaInfo\MediaInfo();

错误已修复,但下一行:

$mediaInfoContainer = $mediaInfo->getInfo('video.mp4');

给出:

Fatal error: Class 'Mhor\MediaInfo\Builder\MediaInfoCommandBuilder' not found

将 $mediaInfo 替换为:-

$mediaInfo = new \Mhor\MediaInfo\MediaInfo();

完整正确的方法如下:

include '/mediainfo/MediaInfo.php';
use \Mhor\MediaInfo\MediaInfo;//now you can directly call class on it's name

$mediaInfo = new MediaInfo();

如果您再遇到问题,请告诉我:)