我是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类。
答案 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();
如何从另一个模块中的控制器类加载它们
上面的代码应该适用于您应用中的任何模块。