Как правильно загрузить DoctrineExtensions в Бисне? - PullRequest
6 голосов
/ 16 октября 2011

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

В моем INI:

autoloaderNamespaces[] = "DoctrineExtensions"
resources.doctrine.classLoader.loaderClass = "Doctrine\Common\ClassLoader"
resources.doctrine.classLoader.loaderFile  = "Doctrine/Common/ClassLoader.php"

resources.doctrine.classLoader.loaders.DoctrineExtensions_Paginate.namespace = "DoctrineExtensions\Paginate"
resources.doctrine.classLoader.loaders.DoctrineExtensions_Paginate.includePath = APPLICATION_PATH '/../library/Doctrine/DoctrineExtensions/Paginate/'

И в одном из моих контроллеров:

  $count = Paginate::getTotalQueryResults($query); // Step 1
  $paginateQuery = Paginate::getPaginateQuery($query, $offset, $limitPerPage); // Step 2 and 3
  $result = $paginateQuery->getResult();

И это ошибка:

Предупреждение: include_once (DoctrineExtensions / Paginate.php): не удалось открыть поток: нет такого файла или каталога

Ответы [ 2 ]

3 голосов
/ 21 октября 2011

Попробуйте что-нибудь простое

 //include class loader first

 //make sure this is correct
 $doctrine_root=APPLICATION_PATH. '/../library/Doctrine';

 require_once $doctrine_root.'/Common/ClassLoader.php';

 $classLoader = new \Doctrine\Common\ClassLoader('Doctrine',$doctrine_root);

 $classLoader->register();

 user Doctrine\DoctrineExtensions\Paginate;

Затем попробуйте сбросить код

  $count = Paginate::getTotalQueryResults($query); // Step 1
  // Step 2 and 3
  $paginateQuery = Paginate::getPaginateQuery($query, $offset, $limitPerPage);  

  $result = $paginateQuery->getResult();

Дайте мне знать, как это работает

ура :)

Примечание: Я не проверял этот код на своем конце

3 голосов
/ 19 октября 2011

Я предлагаю вам попробовать этот плагин: beberlei / DoctrineExtensions

А вот подробности о том, как интегрировать его в ваш проект: README

Я не думаю, что вы можете сделать это, поскольку разработчик создал расширения! : S

Чтобы использовать автозагрузку для класса Paginate, класс должен был называться DoctrineExtensions_Paginate_Paginate.

Удачи!

...