从另一个类调用类方法..

时间:2010-10-22 23:13:18

标签: php class function static

基本上我有两个课程InventoryCharacter。在构建库存期间,我正在尝试确定角色性别,但这似乎根本不适合我... 我之前没有真正使用静态函数所以如果有人可以指出我做错了什么会非常感激...

文件1:

class Inventory
{
    protected $user_gender;
    public function __construct( $id = 0 )
    {
        $user_gender = Character::getGenderStatic();
    }
}

文件2:

class Character
{
    protected static $gender;
    public static function getGenderStatic() { 
        return self::$gender; 
    }
}

1 个答案:

答案 0 :(得分:1)

Inventory的构造函数中,您有

$user_gender = Character::getGenderStatic();

这使得一个新的变量成为构造函数的范围。你可能意味着

$this->user_gender = Character::getGenderStatic();

指的是在类的开头定义的Inventory对象的受保护变量。

我认为你使用静态函数的方式没有错,除了你没有为Character::$gender(你在字符类的开头定义的受保护的静态变量)设置一个值,但我'假设你把它设置在其他地方。