我来自 Java 背景,我想在 php 中使用内部类。不过,每次我放置内部类时,都会出现语法错误。这可以用PHP吗?另外,我如何引用外部类?我可以访问其所有数据成员吗?
<?php
class OuterClass {
var $x = 15;
function __construct() {
}
class InnerClass { // error when InnerClass is static
function __construct() { // error when InnerClass is static
echo $x;
}
}
}
?>
这用于特定纸牌游戏的 MoveClass(如移动)。我认为将这些类放在一起是很好的设计,因为它们分开没有意义。此外,MoveClass 需要了解 Game 类的一些数据成员。为什么不让它成为一个函数?实在是太大了。
编辑:
嵌套类呢?据我了解,那些必须是静态的? O_o
最佳答案
PHP 不允许内部类。如果您希望访问父类的所有数据成员,我建议您使用继承。
一个可能的选择:
class OuterClass {
var $x = 15;
function __construct() {
}
}
class ChildClass extends OuterClass {
function __construct() {
parent::__construct();
}
}
您可以通过引用类本身来调用父类的方法;在 PHP 中,您可以使用 parent
关键字来执行此操作。因此,要在类的上下文中引用方法而不是对象,我们使用 ::
而不是 ->
。
关于php - 如何在 PHP 中使用内部类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351782/