OOP PHP在一个函数中设置变量值并从另一个函数获取

时间:2017-10-08 16:44:40

标签: php oop

在我的课堂上,我试图在__construct()以外的函数中设置变量的值

但我需要另一个函数中的变量值。

这是我尝试过的。但不能正常工作。

我希望打印getty images,但我一无所获:(

<?php

class MyClass{
    public $var;

    public function __construct(){
        $this->var;
    }

    public function setval(){
        $this->var = 'getty Images';
    }

    public function printval(){
        echo $this->var;
    }
}

$test = new MyClass();
$test->printval();

3 个答案:

答案 0 :(得分:5)

你的构造函数什么都不做,你需要调用它来执行某些操作的方法。

class MyClass{
    private $var;

    public function __construct() {
        // When the class is called, run the setVal() method
        $this->setval('getty Images');
    }

    public function setval($val) {
        $this->var = $val;
    }

    public function printval() {
        echo $this->var;
    }
}

$test = new MyClass();
$test->printval(); // Prints getty Images

答案 1 :(得分:1)

您需要调用setval()方法来实际设置值。

尝试:

<?php

$test = new MyClass();
$test->setval();
$test->printval();

如果您对拥有固定值感到满意,那么在 __ construct()中设置变量将正常工作,我会推荐这种方法。

如果您需要动态值,则可以调整 setval 方法以接受参数并将传递的参数保存到对象中,以便作为 printval()打电话。

答案 2 :(得分:0)

在打印之前,首先需要为变量设置值

<?php

class MyClass{
    public $var;

    public function setval(){
        $this->var = 'getty Images';
    }

    public function printval(){
        echo $this->var;
    }
}

$test = new MyClass();
$test->setval();
$test->printval();
?>

输出:

getty Images