0

我已经在我的服务器上安装了 ffmpeg.so 扩展。我想在我的 Symfony 2 应用程序中使用 ffmpeg-php 库。如果我做:

$ffmpeg = new ffmpeg_movie('movie.flv');

在一个独立的 php 文件中,它运行良好。但是如果我将相同的代码放入我的 Symfony2 控制器中,我会得到

Fatal error: Class 'Example\ExampleBundle\Controller\ffmpeg_movie' not found in...

它必须与 Symfony 的命名空间选项有关,但我不确定如何解决它。

4

2 回答 2

1

当您在特定命名空间中时,任何没有命名空间的类引用都将被视为该命名空间的本地类。在您的示例中,它ffmpeg_movie被视为Example\ExampleBundle\Controller命名空间类。

如果您想访问另一个名称空间,其中包括全局名称空间(包括 PHP 类、接口以及任何自定义的全局项),您有两种选择。

  1. 使用它的完整命名空间(\用于全局)和类名访问它:

    $obj = new \ffmpeg_movie;
    $obj = new \DateTime;
    
  2. 使用以下方法引用外部类use

    use ffmpeg_movie;
    use DateTime as AwesomeDateTimeClass;
    
    $obj = new ffmpeg_movie;
    $obj = new AwesomeDateTimeClass;
    
于 2012-10-31T03:38:26.233 回答
0

哎呀,原来你可以添加

use ffmpeg_movie; 

在控制器的顶部,与任何其他类相同。傻我。

于 2012-10-31T03:28:07.320 回答