我正在用 PHP 编写一个客户管理系统,以供离线使用(即在客户端计算机上)。我曾考虑使用 Java 或 C#,但得出的结论是让浏览器为我完成所有布局更容易,只需让公司在他们的计算机上安装 wamp。
通过这个界面,他们还可以管理代理(即,在他们的区域内为公司获取订单的销售人员,以防任何人不知道)。这是我将在这篇文章中用来演示我遇到的问题的部分。
基本上我有 4 个类 - AgentPages、AgentList、AgentDetails 和 AgentForm。AgentForm 将有两种模式 - 编辑和新建。AgentPages 有一个名为 getPages 的函数,它返回其他 3 个类的实例数组。但是它不喜欢“new”关键字。
我的代码如下(仅适用于 AgentPages 类):
<?php
require_once("AgentList.php");
require_once("AgentDetails.php");
require_once("AgentForm.php");
class AgentPages {
public function __construct() {
echo "Constructed";
}
private $pages = array("List" => new AgentList(), "Details" => new AgentDetails(), "Form" => new AgentForm());
function getPages() {
return $this->pages;
}
}
?>
我正在使用启用 PHP 的 netbeans 6.9 IDE,并且(您可能猜到)我安装了 wamp 服务器。在 PHP 5.3 版下,netbeans 调试器告诉我“解析错误:第 20 行 C:\wamp\www\CustomerApp_v2\Agents\AgentPages.php 中的解析错误”。在 5.2.11 下,它在那条线上说明了一些关于意外 T_NEW 的信息。在第 20 行之前,我已经删掉了一个大注释,但我可以告诉你,第 20 行是 $pages 的声明。目前我为每个类都有一个空的构造函数。
我还尝试了以下行而不是第 20 行:
$AgentList = new AgentList();
这也不起作用 - 我得到同样的错误。根据我看过的所有教程,我的代码没有任何问题——不过我可能只是忽略了一些明显的东西。
有谁知道我做错了什么?我之前做过很多面向 PHP 对象的东西,但我最后一次接触它是在 2 年前。
提前致谢。
问候,
理查德