我正在尝试将phpgrid与我的codeigniter程序集成。
我需要澄清一下如何使用库函数。
我已经将phpgrid文件添加到应用程序/库路径,并使用$this->load->library('phpGrid');加载了libray
以下是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');
/**********************************/
?>有没有人可以帮助我,如何才能将定义和require_once文件引用到我的库路径中?
或者,有没有其他方法可以将phpgrid文件包含到CI项目中?
发布于 2012-07-25 16:29:33
我刚刚看过PHPgrid源文件,它们似乎是加密的,所以你在多大程度上可以与Codeigniters MVC框架完全“集成”是有限的。
要使用像这样的外部库,我通常会这样做:
在根目录中存储定义数据库连接常量的单独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文件放在应用程序/库的子目录中。现在,在您的应用程序/库文件中创建一个名为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 grid通信,保持原始文件不变。
在你的控制器中,你只需要做类似这样的事情:
$this->load->library('ci_phpgrid');
$data['phpgrid'] = $this->ci_phpgrid->example_method(3)
$this->load->view('home_page',$data);然后,您可以使用以下命令在视图中显示该表:
$phpgrid->display()如前所述,我没有使用过PHPgrid,您需要包含所有相关的JS以进行排序等,但这通常是您在CI中处理外部库的方式。
https://stackoverflow.com/questions/11625458
复制相似问题