php oop。如何自由使用变量?

时间:2014-09-30 02:17:52

标签: php class oop

我的一个代码出了问题。我试图学习如何做oop,但我坚持理解对象的原则。

我尝试使用变量,我声明为私有,它预定义。我不能在功能集中定义它。

class generateRandomString{
private $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
private $randomString = '';

private function setGenerateRandomString($length = 10){

    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
}
public function getGenerateRandomString(){
    $this->setGenerateRandomString();
    return $this->$randomString;
}
}

我也不明白,为什么在互联网上没有关于如何动态使用类的这个主题没有明确的解释?还是我想念它?我发现的教程和课程,关于如何从课外设置,获取和变量的所有内容。我需要帮助,如何充分利用类和功能作为构建复杂的自操作算法,而不是构建用户交互系统。

我是全新的课堂。对不起要问。

1 个答案:

答案 0 :(得分:1)

在私人设定功能中,您没有引用正确的变量。

每当引用对象实例变量时,都使用$this->variableName。因此,在setRandomString( )函数调用中,您只需将变量更新为适当的实例变量,如下所示:

private function setGenerateRandomString($length = 10){
    for ($i = 0; $i < $length; $i++) {
        $this->randomString .= $this->characters[rand(0, strlen($this->characters) - 1)];
    }
}