我试图将phpgrid 与我的codeigniter程序集成.
我需要对如何使用库函数做一些澄清.
我已将phpgrid文件添加到应用程序/库路径,并且已使用加载了libray $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');
/**********************************/
?>
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我如何将define和require_once文件引用到我的库路径?
或者有没有其他方法可以将phpgrid文件包含到我的CI项目中?
我刚刚查看了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;
Run Code Online (Sandbox Code Playgroud)
您不希望在整个地方存储数据库连接详细信息.
然后在你的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;
}
}
Run Code Online (Sandbox Code Playgroud)
您现在可以使用它与php网格进行通信,保留原始文件.
在你的控制器中你会做的事情如下:
$this->load->library('ci_phpgrid');
$data['phpgrid'] = $this->ci_phpgrid->example_method(3)
$this->load->view('home_page',$data);
Run Code Online (Sandbox Code Playgroud)
然后在视图中,您可以使用以下方式显示表:
$phpgrid->display()
Run Code Online (Sandbox Code Playgroud)
正如我所提到的,我没有使用PHPgrid,你需要包含所有相关的JS用于排序等,但这通常是你想要在CI中接近外部库的方式.
归档时间: |
|
查看次数: |
5093 次 |
最近记录: |