Использование Phpcassa в Yii
Кто-нибудь смог использовать Phpcassa в приложении Yii. Я попытался добавить папку phpcassa в компоненты, которые я добавил в конфигурацию для автоматической загрузки, но она не распознает классы phpcassa, и они не загружаются автоматически.
Я использовал код phpcassa в автономном файле php, и все это работает хорошо, поэтому я знаю, что все на месте, просто я не могу загрузить классы phpcassa в Yii.
Любая помощь могла бы быть полезна.
Дейв
Мне удалось загрузить необходимые классы. Возможно, это не правильный путь, но это работает для меня. Я выгрузил автозагрузку 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'));
Спасибо за помощь, Крис
1 ответ
Каталог компонентов приложений автоматически загружается, поэтому вам не нужно менять конфигурацию. Я не знаком с phpcassa, но есть что проверить:
- Имя файла совпадает с именем класса?
- Включает ли phpcassa подклассы? По умолчанию они не загружаются автоматически.
edit: Привет, попробуйте использовать Yii:: registerAutoloader в вашей начальной загрузке. С Zend я использую такой код:
Yii::import('application.vendors.*');
require "Zend/Loader/Autoloader.php";
Yii::registerAutoloader(array('Zend_Loader_Autoloader', 'autoload'), true);