如何在命名空间应用程序中调用 GetId3 类
Posted
技术标签:
【中文标题】如何在命名空间应用程序中调用 GetId3 类【英文标题】:How to call GetId3 classes within a namespaced application 【发布时间】:2015-04-09 10:55:01 【问题描述】:如果有人问过这个问题,我很抱歉,但我对它应该如何工作缺乏了解。
我正在构建一个文件服务器来管理音乐文件的上传和下载,并找到了 getID3 库,我可以使用它来获取有关正在上传的文件的信息。
我已经通过 composer 安装了这个库。以下是我在根目录中的 composer.json 条目
"james-heinrich/getid3": "dev-master"
供应商文件夹已成功更新库。
该库尚未添加到 vendor/composer 中的 autoload_namespaces.php 文件中(见下文):
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'),
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'GetId3_' => array($vendorDir . '/phansys/getid3'),
);
同样在 vendor/composer 的 autoload_psr4.php 文件下,库的命名空间也没有被注册。我不确定是否会出现这种情况。以下是文件内容:
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
'FileServer\\' => array($baseDir . '/src'),
);
问题
如何从 getID3 访问类库?是否需要执行任何特殊操作才能使这些课程可供我使用?NB:库的 demos 文件夹不使用命名空间,而是“要求”包含类文件,并且在我的理解中失去了作曲家和命名空间的意义。求助于 Phansys Symdony 库根本没有帮助,因为我什至不确定该库是否可以用于独立项目。
提前谢谢你。
【问题讨论】:
你做过'composer dump-autoload'吗? @Frank - 不。让我试试看。谢谢。 【参考方案1】:命令 composer dump-autoload 是感谢@Frank 的答案。
【讨论】:
很高兴听到它有效:)。感谢您的更新。以上是关于如何在命名空间应用程序中调用 GetId3 类的主要内容,如果未能解决你的问题,请参考以下文章
PHP - 如何处理应该存在于应用程序命名空间中的真实测试双打?