2017-01-31 9 views
0

나는 ZF1 프로젝트에서 일하고 나는 빈 컨트롤러를 만들었습니다_old style_ library가있는 ZF1 프로젝트에서 "require_once"사용을 피하는 방법은 무엇입니까?

application/controllers/AgreementController.php 

class AgreementController 
{ 
    public function index() 
    { 
     // code goes here 
    } 
} 

내 프로젝트의 일환으로 Guriddo jqGridPHP를 사용하는 것을 시도하고있다. 그들은 여전히 ​​현재 require_once를 사용

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); 

그 날 어느 프로젝트에 대한 좋지 않다 : 그들은 일부 문서 here (빠른 설치로 이동)과 같은 쇼 뭔가가있다. 나는 자동로드 같은 라이브러리를 사용하여 require_once의 사용을 피하는 방법을 찾으려고합니다. 나는이를 해결하는 방법에 대해 확실하지 않다

그러나 약

나는 알지 못했다. 이것을 달성하는 방법에 대한 아이디어를 얻을 수 있습니까?

답변

2

가능합니다.

이 시작 코딩하기 전에, 우리는 젠드 프레임 워크 자동 로더에 우리의 phpGrid 라이브러리를 등록해야합니다 phpgrid zf integration에서

, 유사한 데이터 그리드 라이브러리, 당신은 자동로드에있는 "이전 스타일"라이브러리를 composer.json을 수정해야 . 이것은 "composer.json"에 자동로드 파일 키를 추가하여 수행됩니다. 오토로더는 기존의 "require"또는 "php include"기능을 사용하지 않고도 PHP 외부 라이브러리 및 구성 요소를 PHP 코드에서 쉽게 참조 할 수 있습니다.

composer.json

{ 
    ... 

    "autoload":{ 
     "files": ["vendor/phpcontrols/phpGrid/conf.php"] 
    } 
} 
0

확실히 작곡가를 사용하여 만들 수 있습니다.

autoload classmap on composer에서 볼 수 있듯이 폴더 내에있는 모든 클래스를 기본적으로 자동로드 할 수 있습니다.

/opt 폴더 (자신의 프로젝트의 루트 인 /)를 만들고 비 작곡가 라이브러리를 넣어 두는 것이 좋습니다. 그런 다음 classmap을이 폴더에 사용할 수 있습니다.

마지막으로, 귀하의 index.php 및 기타 응용 프로그램의 진입 점에 작곡가를 추가해야합니다.