Вызов функции контроллера PHP CI из внешней среды - PullRequest
0 голосов
/ 06 августа 2011

Я использую CI Controller и все функциональные возможности, разработанные в рамках (Test_frame1).Теперь из другого домена мне нравится вызывать идентифицированные функции из моей CI Framework, т.е. test_frame1.

Как делать такие вызовы?Может ли Test_frame1 предоставлять какие-либо веб-сервисы, которые можно напрямую вызывать с внешних веб-сайтов?Как веб-сервис может быть перенаправлен на частные вызовы методов в моем контроллере CI?Какие аспекты безопасности следует учитывать?Любой пример кода и объяснения высоко ценится.

Спасибо,

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

У меня была похожая проблема, и я решил ее немного сложнее, но она работает:)

У меня есть cms, сделанный в codeigniter, который генерирует статические файлы для основного сайта, это звучит плохо, но я пытаюсь проиллюстрировать это другим способом:

root - cms_folder (codeigniter system)
     - images 
     - js
     - assets
     - index.html

Я хочу обрабатывать запросы ajax с помощью контроллера codeigniter и в то же время хочу скрыть реальный путь к папке codeigniter. Для этого я сделал редирект в файле .htaccess:

RewriteCond %{THE_REQUEST} ^.*ajax_action/(.*) [NC]
RewriteRule ^.*ajax_action/(.*) http://%{HTTP_HOST}/cms_folder/ajaxcall/$1 [NC,P]

И запрос Ajax, который я сделал, выглядит следующим образом:

$.ajax({
    'url': '/ajax_action/'+action, // action is the ajaxcall controller's function
    'data' : {parameters},
    'type': 'POST',
    ../ other ajax settings ...
});

Я знаю, что мой английский действительно плох, но я надеюсь, что когда-нибудь помогу с этим:)

0 голосов
/ 06 августа 2011

Один из способов сделать это - сделать ваши повторно используемые функции в Test_frame1 доступными как вызовы API.
Вот хорошая ссылка, но также длинное чтение.

http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...