2013-04-30 3 views
0

Кто-нибудь мог использовать Phpcassa в приложении Yii. Я попытался добавить папку phpcassa в компоненты, которые я добавил в конфигурацию для автоматической загрузки, но не распознал классы phpcassa, и они не получают автозагрузку.Использование Phpcassa в Yii

Я использовал код phpcassa в автономном php-файле, и все работает хорошо, поэтому я знаю, что все на месте, просто я не могу загрузить классы phpcassa в Yii.

Любая помощь была бы действительно оценена.

Dave

мне удалось получить необходимые классы загружаются. Это может быть неправильным, но это работает для меня. Я выгрузил автозагрузку 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')); 

Спасибо за помощь Крис

ответ

0

Каталог Применение компонентов является автоматически загружаются автоматически, поэтому вам не нужно, чтобы изменить конфигурации. Я не знаком с phpcassa, но все, что нужно проверить:

  • Является ли имя файла идентичным имени класса?
  • Включает ли phpcassa подклассы? По умолчанию они не будут автоматически загружены.

Редактировать: Привет, попробуйте использовать Yii :: registerAutoloader в своем бутстрапе. С Zend, я использую такой код: -

Yii::import('application.vendors.*'); 
require "Zend/Loader/Autoloader.php"; 
Yii::registerAutoloader(array('Zend_Loader_Autoloader', 'autoload'), true); 
+0

Спасибо за ответ Крис, я думаю, вы могли бы быть правы насчет суб классов. При использовании PHPCassa у него есть свой автозагрузчик, который он использует, и я не уверен, как это влияет на автозагрузку Yii. Вот пример кода из примера Phpcassa, где он загружает классы phpcassa require_once (__ DIR __. '/ ../lib/autoload.php'); использование phpcassa \ Connection \ ConnectionPool; –

Смежные вопросы