我有一个名为Pages的类用作命名空间,如下所示:
<?php
static class Pages
{
class Page
{
public $Name;
public $Title;
public function __construct($Name, $Title)
{
$this->Name = $Name;
$this->Title = $Title;
}
}
}
?>
其他地方:
<?php
$g_Pages = new Pages::Page("My Name", "My Title");
?>
不幸的是,我收到了一个解析错误:语法错误,意外的"Page"(T_STRING),应为变量(T_variable)或"$"
我做错了什么?
如果您试图将内部类用作名称空间,只需使用名称空间。例如:
<?php
namespace Pages;
class Page { }
然后你可以通过访问该类
$g_Pages = new 'Pages'Page("My Name", "My Title");
http://php.net/namespaces
不幸的是,嵌套类不是PHP的语言特性。
下面的SO页面对此进行了详细解释。
PHP 中的嵌套类或内部类