2014-09-12 4 views
0

Я работаю над унаследованным проектом, который построен с помощью рамки codeigniter, версия 2.1.0 (да, я знаю, что она старая). Я пытаюсь интегрировать систему Illuminate Queue в CI и сделал это достаточно хорошо. Проблема, с которой я сталкиваюсь, заключается в использовании элементов CI, когда скрипт команды прослушивания вытягивает задание из очереди и вызывает класс и выполняет метод пожара в этом классе.php use codeigniter framework компоненты вне рамок

Можно ли использовать элементы Codeigniter в том, что называется как таковое, и именяется?

Вот структура папок пространства имен области:

application 
    MyApp 
     Queues 
      Listeners 
       Exports 
        Exports.php 

А вот файл:

<?php namespace MyApp\Queues\Listeners\Exports; 

use Aws\S3\S3Client; 
use League\Flysystem\Filesystem; 
use League\Flysystem\Adapter\AwsS3 as Adapter; 
use League\Flysystem\AdapterInterface; 

class Exports 
{ 

    public function __construct() 
    { 
     /* Load CI */ 
     $this->ci = & get_instance(); 
    } 

    public function fire($job, $data) 
    { 
     // Process job 
     $job->delete(); 
    } 

} 

И это сообщение об ошибке она прошлифованная:

PHP Fatal error: Call to undefined function MyApp\Queues\Listeners\Exports\get_instance() 

Я знаю, что это происходит потому, что файл core/Codeigniter.php не загружается, так как это CL-команда, запущенная в фоновом режиме на моем локальном сервере и не просматривая типичный маршрут открытия фреймворка.

Является ли то, что я прошу, возможно? Дайте мне знать, если вам нужна дополнительная информация.

Спасибо!

ответ