我想找到在php中使用面向对象的正确方法

时间:2013-08-30 06:22:03

标签: php

为什么此代码不会打印该值。     

class Test{
    var $i;
    function Test($i){
        $this->i=$i;
    }

    function func1(){
        echo $i;
    }
}

$ob1=new Test(4);
$ob1->func1();  
?>

这里我使用的是面向对象的概念

3 个答案:

答案 0 :(得分:5)

你应该回复$this->i而不是$i

function func1() {
   echo $this->i;
}

输出

4

答案 1 :(得分:0)

替换

function func1(){
    echo $i;
}

function func1(){
    echo $this->i;
}

并将努力学习使用 http://php.net/manual/en/language.oop5.php http://www.tutorialspoint.com/php/php_object_oriented.htm

答案 2 :(得分:0)

当从对象上下文中调用方法时,伪变量$ this可用。 $ this是对调用对象的引用(通常是方法所属的对象,但如果从辅助对象的上下文中静态调用该方法,则可能是另一个对象)。

请参阅HERE

所以使用

function func1(){
        echo $this->i;
    }