在构造函数中设置的变量被遗忘了吗?

时间:2014-10-10 22:34:27

标签: php oop constructor

我在这里要做的是首先创建变量 $ sql_info 并将其设置为默认值,然后构造函数接受一个参数,然后将其设置为 $ sql_info 变量。如果我在构造函数中做echo $sql_info;它一切正常,但如果我尝试在一个不同的函数中执行它,它不会回显任何屏幕,甚至不是默认值。那是为什么?

<?php

class Connection {

    private $sql_info = "default";
    function __construct($Info) {

        //Set new value of $sql_info
        $sql_info = $Info;
    }

    function Connect() {
        global $sql_info;

        //echo the newly set string
        echo $sql_info;
    }
}
?>

谢谢!

2 个答案:

答案 0 :(得分:2)

您需要撰写$this

试试这个:

<?php

    class Connection {

        private $sql_info = "default";

        function __construct($Info) {

            //Set new value of $sql_info
            $this->sql_info = $Info;
        }

        function Connect() {
            global $sql_info;

            //echo the newly set string
            echo $this->sql_info;
        }
    }
?>

答案 1 :(得分:1)

只需使用“this”关键字使用类变量即可。它在您的代码中声明为私有变量。