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 回答