2

我试图将phpgrid 与我的 codeigniter 程序集成。

我需要一些关于如何使用库函数的说明。

我已将 phpgrid 文件添加到应用程序/库路径中,并且已使用$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 框架完全“集成”。

要使用这样的外部库,我通常会这样做:

在根目录中存储一个单独的 config.php 文件(看起来像 PHPgrid 文件),该文件定义了 db 连接常量。

然后在您的 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 文件放在应用程序/库的子目录中。现在在您的应用程序/库文件中创建一个新文件,该文件名为 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 回答