Я пытаюсь интегрировать 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'); /**********************************/ ?>
Может кто-нибудь, пожалуйста, помогите мне, как я могу ссылаться на файлы define и require_once на мой путь к библиотеке?
Или есть ли другой способ, который я могу включить файлы phpgrid в мой проект CI?
Я только что посмотрел исходные файлы PHPgrid, и кажется, что они зашифрованы, поэтому вы ограничены в том, насколько вы можете полностью «интегрироваться» с картой Codeigniters MVC.
Чтобы работать с такой внешней библиотекой, вот что я обычно делаю:
Сохраните отдельный файл config.php (который выглядит как PHPgrid), который определяет константы соединения db в корневом каталоге.
Затем требуйте это в файле config / database.php Codeigniter и используйте константы для установки параметров 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;
Вы не хотите хранить данные о подключении к базе данных повсюду.
Затем включите config.php в верхней части файла phpgrid / conf.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.