0

Yii アプリケーションで Phpcassa を使用できた人はいますか? 自動ロード用に構成に追加したコンポーネントにphpcassaフォルダーを追加しようとしましたが、phpcassaクラスを認識せず、自動ロードされません。

私はスタンドアロンのphpファイルでphpcassaコードを使用しましたが、すべてうまく機能するので、Yiiでphpcassaクラスをロードできないというだけで、すべてが整っていることがわかります。

どんな助けでも本当に感謝しています。

デイブ

必要なクラスをロードすることができました。これは正しい方法ではないかもしれませんが、私にとってはうまくいきます。Yii オートロードをアンロードし、phpcassa の例のようにクラスと phpcassa オートローダーを追加してから、オートロードを再度登録しました。

spl_autoload_unregister(array('YiiBase', 'autoload')); // Disable Yii autoloader
require_once(__DIR__.'/../extensions/lib/autoload.php');
use phpcassa\Connection\ConnectionPool;
use phpcassa\ColumnFamily;
use phpcassa\ColumnSlice;
use phpcassa\SystemManager;
use phpcassa\Schema\StrategyClass;
spl_autoload_register(array('YiiBase', 'autoload')); 

助けてくれてありがとうクリス

4

1 に答える 1

0

アプリケーション コンポーネント ディレクトリは自動的に自動ロードされるため、構成を変更する必要はありません。私はphpcassaに精通していませんが、確認すべきことは次のとおりです。

  • ファイル名はクラス名と同じですか?
  • phpcassa にはサブクラスが含まれていますか? これらはデフォルトでは自動ロードされません。

編集: こんにちは、ブートストラップで Yii::registerAutoloader を使用してみてください。Zend では、次のようなコードを使用します。

Yii::import('application.vendors.*');
require "Zend/Loader/Autoloader.php";
Yii::registerAutoloader(array('Zend_Loader_Autoloader',  'autoload'), true);
于 2013-05-01T06:08:57.387 に答える