とりあえず、xajaxCodeIgniterに組み込む。

目次

1.ダウンロード

xajaxのサイトからxajax 0.5 Finalをダウンロード。
「xajax 0.5 compiled」、「xajax 0.5 minimal」、「xajax 0.5 standard」と3種類のダウンロードが用意されているのでお好みのものをダウンロード。

file
解凍するとでてくるのはこんな感じ。

2.ファイルをコピー

解凍してでてきた、xajax_core/以下のファイルを全部CodeIgniterのところへ配置するんやけど・・・
解説されているのは、application/libraries配下におくもので独自ライブラリー化するものが多いかな。
ライブラリー化は、本家wikiにあります。ここ
んでも、ここは、pluginでいきます。
理由は、CodeIgniterのベースを作っておいて、他の開発に流用する為。
xajaxなんかは共通で使うと思うんで。(tcPDFも)
なので、xajax_core/以下のファイルを system/plugins/へコピーする。
もうひとつの xajax_js/以下のファイルは、ドキュメントルートへコピー。

3.プラグインファイルの作成

system/plugins/に「xajax_pi.php」を作成。
CodeIgniterのプラグインの定義は次のように書かれているので、ここで1つの関数を作成。

プラグインもヘルパと同様に動作します。違いは、ヘルパは通常関数のコレクションであるのに対し、プラグインは常にひとつだけの関数を提供するということです。ヘルパはまた、コアシステムの一部として考えられたものですが、プラグインは、コミュニティで作成され、共有されることを意図しています。

中身は↓

4..htaccessの修正

.htaccessの mod_rewriteを修正し、 xajax_js ディレクトリ以下はリライトから除外する。

RewriteCond $1 !^(index\.php|images|js|xajax_js|user_guide_ja|robots\.txt|css)

サンプルコード

これで準備は整ったので、あとはコントローラーとビューを用意するだけ。
サンプルは、wikiのまんまで、pluginでロードしているだけ
PHP5なんで__constructとしたりするだけかな

Controller

load->plugin('xajax');
        $this->xajax = xajax();

        $this->xajax->registerFunction(array('test_function',&$this,'test_function'));
        $this->xajax->processRequest();
    }

    private function test_function($number)
    {
          $objResponse = new xajaxResponse();
          $objResponse->Assign("SomeElementId","innerHTML", "Xajax is working. Lets add: ".($number+3));
          return $objResponse;
    }

    public function index()
    {
        $template['xajax_js'] = $this->xajax->getJavascript(base_url());

        $template['content'] = '
'; $this->load->view('template/index', $template); } } ?>

VIEW



    Xajax 0.5 test
    



  

カテゴリー: CodeIgniter