如何避免使用_old style_ library在ZF1项目中使用“require_once”?

时间:2017-01-31 21:00:40

标签: php zend-framework jqgrid composer-php zend-autoloader

我在ZF1项目中工作,我创建了一个空控制器:

Private Sub CommandButton1_Click()
    On Error Resume Next
    Dim sheetIndex As Integer
    sheetIndex = 1
    Application.ScreenUpdating = False
    Workbooks.Open Filename:="C:\YourPath\Completed Workorders.xlsm"
    Windows("Workorders.xlsm").Activate
    ActiveSheet.Select
    ActiveSheet.Copy Before:=Workbooks("Completed Workorders.xlsm").Sheets(sheetIndex)
    sheetIndex = sheetIndex + 1

    ActiveWorkbook.Save
    Windows("Completed Workorders.xlsm").Close
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

我正在尝试使用Guriddo jqGridPHP作为我项目的一部分。他们有一些文档here(转到快速安装),显示如下:

application/controllers/AgreementController.php

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

他们现在仍在使用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); ,这对我来说并不适合我。我正在尝试找到一种方法 autoload 这样的库,以避免使用require_once

我确实知道:

但我不确定如何处理这个问题。我能否就如何实现这个目标获得一些想法?

2 个答案:

答案 0 :(得分:2)

是的,你可以。

phpgrid zf integration,类似的数据网格库中,您需要修改composer.json以自动加载任何“旧样式”库:

  

在开始编码之前,我们需要在Zend Framework自动加载器中注册我们的phpGrid库。这是通过在“composer.json”中添加自动加载文件键来完成的。自动加载器确保可以在PHP代码中的任何位置轻松引用任何PHP外部库和组件,而无需使用传统的“require”或“php include”函数。

composer.json

{
    ...

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

答案 1 :(得分:0)

你绝对可以使用作曲家来做到这一点。

查看autoload classmap on composer,您会发现它基本上可以从文件夹中自动加载任何类。

我建议创建一个/opt文件夹(/作为您自己项目的根目录),并将任何非作曲家库放入其中。然后,您可以在此文件夹中使用classmap

最后,您需要将作曲家添加到您的index.php以及应用程序的任何其他入口点。