2

phpgrid を私の codeigniter プログラムに統合しようとしています。

ライブラリ関数の使用方法について、いくつか説明が必要です。

phpgrid ファイルを application/libraries パスに追加し、次を使用してライブラリをロードしました$this->load->library('phpGrid');

以下は、phpgrid conf.php ファイルのコードです。

<?php
// mysql example
define('DB_HOSTNAME','localhost'); // database host name
define('DB_USERNAME', 'admin');     // database user name
define('DB_PASSWORD', 'pop3'); // database password
define('DB_NAME', xtra); // database name     
define('DB_TYPE', 'mysql');  // database type
define('DB_CHARSET','utf8'); // ex: utf8(for mysql),AL32UTF8 (for oracle), leave blank to use the default charset


define('SERVER_ROOT', '/grid');

/******** DO NOT MODIFY ***********/
require_once('phpGrid.php');     
/**********************************/
?>

define ファイルと require_once ファイルをライブラリ パスに参照する方法を教えてください。

または、phpgrid ファイルを CI プロジェクトに含める他の方法はありますか?

4

1 に答える 1

7

PHPgrid のソース ファイルを確認したところ、暗号化されているように見えるため、Codeigniters MVC フレームワークと完全に「統合」できる範囲が限られています。

このような外部ライブラリを操作するには、一般的に次のようにします。

ルート ディレクトリに db 接続定数を定義する別の config.php ファイル (PHPgrid ファイルのように見える) を保存します。

次に、これを Codeigniter config/database.php ファイルで要求し、定数を使用して Codeigniter 設定も設定します。したがって、Codeigniter database.php は次のようになります。

require_once('config.php');

$db['default']['hostname'] = DB_HOSTNAME;

$db['default']['username'] = DB_USERNAME;

$db['default']['password'] = DB_PASSWORD;

$db['default']['database'] = DB_NAME;

データベース接続の詳細をあちこちに保存したくありません。

次に、phpgrid/conf.php ファイルの先頭に config.php をインクルードし、定数を使用して同じ方法で詳細を入力します。明らかに、他の phpgrid 定数も入力します。

すべての PHPgrid ファイルを application/libraries のサブディレクトリに配置します。application/libraries ファイルに ci_phpgrid.php のような名前の新しいファイルを作成し、その中に以下のような新しいクラスを作成します。

<?php
require_once('phpgrid/conf.php');

class CI_phpgrid {

    public function example_method($val = '')
    {
        $dg = new C_DataGrid("SELECT * FROM Orders", $val, "Orders");
        return $dg;
    }
}

これを使用して、元のファイルをそのままにして、php グリッドと通信できるようになりました。

あなたのコントローラーでは、次のようなことをするだけです:

$this->load->library('ci_phpgrid');
$data['phpgrid'] = $this->ci_phpgrid->example_method(3)

$this->load->view('home_page',$data);

次に、ビューで次を使用してテーブルを表示できます。

$phpgrid->display()

前述したように、私は PHPgrid を使用していないため、ソートなどに関連するすべての JS を含める必要がありますが、これは通常、CI で外部ライブラリにアプローチする方法です。

于 2012-07-25T08:29:32.633 に答える