Zf2在项目中加载自定义类

时间:2014-02-27 18:53:56

标签: php zend-framework zend-framework2

我是Zend Framework的新手。我为Google日历添加了一堆API类到 / vendor / 文件夹。然后我编写了一个自定义类,用于对我的Google日历帐户进行身份验证和添加事件。并将其放在 /module/Application/src/Application/Util/GoogleAgenda.php

因此。现在在 EventController (在 module / Event / src / Event / EventController.php 中)我想使用自定义的 GoogleAgenda 类像这样:

    $agenda = new \GoogleAgenda();
    if($agenda->auth()) {
        $success = $agenda->addEvent($event->serviceName, "", $event->locationName, "2014-02-27T17:00:00.000+00:00", "2014-02-27T18:00:00.000+00:00");
        if(!$success) {
            die("Google Calendar Api - Failed to add event");
        }
    }

这给出了错误:

  

致命错误:在EventController.php上找不到类“GoogleAgenda”   第60行

那么,在哪里放置我的自定义 GoogleAgenda 类?以及如何从另一个模块中的控制器类加载它们。

我认为我的Util文件夹是存放此类的好地方。因为它是我想在整个应用程序中使用的util类。

1 个答案:

答案 0 :(得分:3)

您需要自动加载该类。由于您已将其放入应用程序模块中,因此模块的命名空间和自动装载器设置最简单。由于该课程位于module/Application/src/Application/Util/GoogleAgenda.php,因此其声明应如下所示:

<?php

namespace Application\Util;

class GoogleAgenda
{
    [...]
}

并使用它:

$agenda = new \Application\Util\GoogleAgenda();

或者,更好一点:

use Application\Util\GoogleAgenda;

[...]

$agenda = new GoogleAgenda();
  

如何从另一个模块中的控制器类加载它们

上面的代码应该适用于您应用中的任何模块。