Я работаю над унаследованным проектом, который построен с помощью рамки 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-команда, запущенная в фоновом режиме на моем локальном сервере и не просматривая типичный маршрут открытия фреймворка.
Является ли то, что я прошу, возможно? Дайте мне знать, если вам нужна дополнительная информация.
Спасибо!