Я работаю в проекте ZF1, и я создал пустой контроллер:
application/controllers/AgreementController.php
class AgreementController
{
public function index()
{
// code goes here
}
}
Я пытаюсь использовать Guriddo jqGridPHP как часть моего проекта. У них есть некоторая документация Вот (перейдите к Быстрая установка) и покажите что-то вроде этого:
require_once 'jq-config.php';
require_once "php/jqGrid.php";
require_once "php/jqGridPdo.php";
$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
$grid = new jqGridRender($conn);
$grid->SelectCommand = 'SELECT field1, field2, field3 FROM mytable';
$grid->dataType = 'json';
$grid->setColModel();
$grid->setUrl('myfirstgrid.php');
$grid->setGridOptions(array(
"caption"=>"This is custom Caption",
"rowNum"=>10,
"sortname"=>"field1",
"rowList"=>array(10,20,50)
));
$grid->setColProperty("field1", array("label"=>"ID", "width"=>60));
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
Они все еще используют require_once
в наше время, и это не хорошо для меня, ни проекта. Я пытаюсь найти способ автозагрузка такая библиотека, чтобы избежать использования require_once
,
Я знал о:
Но я не уверен, как с этим бороться. Могу ли я получить некоторые идеи, как этого добиться?
Да, ты можешь.
В интеграция phpgrid zf, Аналогичная библиотека сетки данных, вам нужно изменить composer.json для автозагрузки любой библиотеки «старого стиля»:
Перед началом кодирования нам нужно зарегистрировать нашу библиотеку phpGrid в автозагрузчике Zend Framework. Это делается путем добавления файлов автозагрузки ключей в «composer.json». Автозагрузчик гарантирует, что на любые внешние библиотеки и компоненты PHP можно легко ссылаться в любом месте кода PHP без использования традиционных функций «require» или «php include».
composer.json
{
...
"autoload":{
"files": ["vendor/phpcontrols/phpGrid/conf.php"]
}
}
Вы можете определенно использовать композитор, чтобы сделать это.
Глядя на автозагрузка карты классов на композиторе, вы увидите, что он может автоматически загружать любой класс из папки.
Я бы порекомендовал создать /opt
папка (/
будучи корнем вашего собственного проекта), и поместите в него любую некомпозиционную библиотеку. Тогда вы можете использовать classmap
в этой папке.
Наконец, вам нужно добавить композитора в ваш index.php
и любая другая точка входа вашего приложения.