0

EasyCSVをsymfony2プロジェクトに追加したいhttps://github.com/jwage/EasyCSV

これが私が試したものです。追加した

'EasyCSV'          => __DIR__.'/../vendor/easy-csv',

autoload.phpと

use EasyCSV\Reader;

このlibを使用したいコントローラーで。しかし、私は得る

致命的なエラー:クラス'EasyCSV\Reader'が...Controller.phpに見つかりません

なぜ何かアイデアはありますか?これを修正する方法は?

4

2 に答える 2

4

Into vendor/composer/autoload_classmap.php(Symfony 2.1)

<?php

// autoload_classmap.php generated by Composer

$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);

return array(
    'EasyCSV' => __DIR__.'/../vendor/easy-csv',
    [....]
);

挿入するだけで使用できます

use EasyCSV

必要なファイルの「先頭」。

コンポーザーソリューションなし

これをファイルに入れてみてくださいautoload.php(一番下にあると思います)

use Symfony\Component\ClassLoader\MapClassLoader;
[...]
// Create map autoloader
$mapLoader = new MapClassLoader(array(
    'EasyCSV' => __DIR__.'/../vendor/easy-csv',
    [...]
));

// Register autoloader
$mapLoader->register();
于 2012-11-27T16:23:46.973 に答える
1

コメントで説明したように、ベンダーファイルにサードパーティのライブラリを手動で追加しないようにしてください。組み込みのsymfonyパッケージ管理システムには理由があります。

問題のバンドルについては、depsファイルに以下を追加する必要があります。

[easy-csv]
    git=http://github.com/jwage/EasyCSV.git

次に、以下を追加する必要がありますapp/autoload.php

$loader->registerNamespaces(array(
    ...
    'EasyCSV'          => __DIR__.'/../vendor/easy-csv/lib',
));

これで、名前空間をインポートして使用できるようになります。

于 2012-11-30T22:38:39.917 に答える