Доступ к каталогу сервисов при настройке Zend AMF в Codeigniter - PullRequest
0 голосов
/ 01 сентября 2011

Я следовал инструкциям в этом руководстве, чтобы настроить Zend AMF как способ передачи данных из моего приложения Flash в мое приложение PHP:

http://codeigniter.com/forums/viewthread/180414/

Итак, у меня есть структура каталогов и все, как описано там. Это мой контроллер шлюза:

class Gateway extends CI_Controller
{
        function __construct()
        {
                 parent::__construct();
                 $this->load->library('zend');

                 //root_folder + application + controllers + amf + services
                 define('SERVICES_FOLDER', APPPATH.'controllers/amf/services/');
        }

    public function index() 
    {

            $server = new Zend_Amf_Server();

            $server->setProduction(false);

            //$server->addFunction('testservice');

            $server->addDirectory(SERVICES_FOLDER);

            echo  $server->handle();
    }

}

И APPPATH - это / application /, поэтому путь, определенный SERVIES_FOLDER, - это "/ application / controllers / amf / services", где находится мой файл 'testservice.php'.

Когда я пытаюсь подключиться к этой услуге во флэш-памяти:

var gateway:String = "http://mysite.com/amf/gateway";
con.connect(gateway);
con.call("Testservice.getMessage", new Responder(onResult, onFault));

Вызывает метод onFault и отображает ошибку:

Плагин с именем 'Testservice' не найден в реестре;

Что заставляет меня думать, что строка addDirectory () в Gateway.php так или иначе была проблемой. Интересно, что я также не могу получить доступ к функции testservice через URL-адрес, т. Е. Перейдя по адресу mysite.com/amf/services/testservice.

.

Есть мысли о том, что здесь может происходить?

Ответы [ 2 ]

0 голосов
/ 02 октября 2013

У меня была проблема с этим при использовании parent :: __ construct () в моих контроллерах служб.Как только я это убрал, проблема ушла.

0 голосов
/ 02 сентября 2011

Понял, вроде.

Вместо использования метода addDirectory, с которым мне не повезло, я использовал метод setClass и создал еще один класс в файле gateway.php, который имеет функции,и теперь я могу подключиться к этим функциям с флэш-памяти.

...