2011-08-06 36 views
0

私はCIコントローラを使用しており、フレームワーク(Test_frame1)内で開発されたすべての機能が使用されています。今では別のドメインから、CIフレームワーク、つまりtest_frame1から識別された機能を呼び出すことができます。PHP CIコントローラ機能外部フレームワークからの呼び出し

どのようにこのような呼び出しを行うには? Test_frame1は、外部のWebサイトから直接呼び出せるWebサービスを公開できますか? WebサービスをCIコントローラ内のプライベートメソッド呼び出しにどのようにルーティングできますか? どのようなセキュリティの側面を考慮する必要がありますか? サンプルコードと説明は高く評価されています。

はこれを行うには

+0

私はあなたがもっと詳しく何を望んでいるのかを説明すべきだと思います。 – yoda

答えて

0

私はいくつかの同様の問題があったと私は少しトリッキー解決しましたが、それは私がメインのサイトに静的ファイルを生成CodeIgniterの中で作られたCMSを持っている:)

作業、それが聞こえます悪いが、私は他の方法で説明しよう:

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

私はCodeIgniterのコントローラと、私はCodeIgniterのフォルダの実際のパスを非表示にすると同時に、Ajaxのリクエストを処理します。

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 ... 
}); 

私は私の英語は本当に悪いですけど、これ、私は.htaccessファイルにリダイレクトを作ったようにするには私はこの人といつかお手伝いしたいと思っています:)

+0

リダイレクトを変更すると、別のドメインでも動作するよりも多分わかりませんが、楽しむ! – Briganti

関連する問題