Zend Framework 2如何在Controller中访问类


Zend Framework 2 How to access a class in Controller?

我已经创建了一个classess文件夹。我试图访问在我的控制器的那个文件夹中的类的返回。

Thanks in advance

模型类GetUserPersonalData,它位于这里:

E: ' wamp ' www应用程序模块' ZendEbayApp ' '程序' src ' '模型

我的控制器位于这里:

E: ' wamp ' www应用程序模块' ZendEbayApp ' '程序' src ' '控制器

BackendUserAdministrationController.php

    <?php
namespace Application'Controller;
use Zend'Mvc'Controller'AbstractActionController;
class BackendUserAdministrationController extends AbstractActionController {
    public function indexAction() {
        $this->layout('layout/BackendAdministrationLayout');
    }
    public function AddAdditionalUserAcountsAction() {
        $this->layout('layout/BackendAdministrationLayout');
        $GetUserPersonalDataClassObject = new 'Application'models'GetUserPersonalDataClass();
        $theoutputarray = $GetUserPersonalDataClassObject->GetUserPersonalDatafunction();
        echo $theoutputarray[1];
    }
    public function AddCompanyDetailAction() {
        $this->layout('layout/BackendAdministrationLayout');
    }
    public function AddUserAccountAction() {
        $this->layout('layout/BackendAdministrationLayout');
    }
    public function AddUserPersonalAction() {
        $this->layout('layout/BackendAdministrationLayout');
    }
    public function AddUserPlanDetailAction() {
        $this->layout('layout/BackendAdministrationLayout');
    }
    public function AddUserPreferencesAction() {
        $this->layout('layout/BackendAdministrationLayout');
    }
    public function AddUserTransactionsAction() {
        $this->layout('layout/BackendAdministrationLayout');
    }
}

GetUserPersonalData.php

    <?php
class GetUserPersonalDataClass {
    public function GetUserPersonalDatafunction() {
        $GetUserPersonalDataArray = array();
        $OpenedUserPersonalFile = fopen("E:/wamp/www/ZendEbayApp/data/usersinformation/userPersonal.txt", "r");
        while (!feof($OpenedUserPersonalFile)) {
            $OpenedUserPersonalFileSingleRow = fgets($OpenedUserPersonalFile);
            array_push($GetUserPersonalDataArray, "$OpenedUserPersonalFileSingleRow");
        }
        fclose($OpenedUserPersonalFile);
        return $GetUserPersonalDataArray;
    }
}
$GetUserPersonalDataClassObject = new GetUserPersonalDataClass();
$theoutputarray =  $GetUserPersonalDataClassObject->GetUserPersonalDatafunction();
echo $theoutputarray[1];
?>

当我用betbeans调试BackendUserAdministrationController.php时,它还显示:

        E:'wamp'bin'php'php5.4.3'php.exe E:'wamp'www'ZendEbayApp'module'Application'src'Application'Controller'BackendUserAdministrationController.php
    Fatal error: Class 'Application'Controller'AbstractActionController' not found in E:'wamp'www'ZendEbayApp'module'Application'src'Application'Controller'BackendUserAdministrationController.php on line 7
    Call Stack:
        0.0013     130104   1. {main}() E:'wamp'www'ZendEbayApp'module'Application'src'Application'Controller'BackendUserAdministrationController.php:0
    PHP Fatal error:  Class 'Application'Controller'AbstractActionController' not found in E:'wamp'www'ZendEbayApp'module'Application'src'Application'Controller'BackendUserAdministrationController.php on line 7
    PHP Stack trace:
    PHP   1. {main}() E:'wamp'www'ZendEbayApp'module'Application'src'Application'Controller'BackendUserAdministrationController.php:0
    Done.

您的类似乎没有名称空间,这可能解释了问题,请尝试添加一个

<?php
// add this line to your model class
namespace Application'models;
class GetUserPersonalDataClass
{
    // <snipped/>
}

不要创建class,而是创建一个库文件,也许这能帮到你:

如何为自定义文件访问数据库