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 クラス、インターフェース、およびカスタム定義のグローバル項目を含む) を含む別の名前空間にアクセスする場合は、2 つの選択肢があります。

  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 に答える