相关疑难解决方法(0)

1014
推荐指数
15
解决办法
55万
查看次数

为什么PHP允许从类外部创建类属性?

来自Java背景,我发现这很奇怪.请看一下这段代码 -

<?php  
    class People {
        private $name;
        private $age;
        public function set_info($name, $age) {
            $this->name = $name;
            $this->age = $age;
        }

        public function get_info() {
            echo "Name : {$this->name}<br />";
            echo "Age : {$this->age}<br />";
        }
    }

    $p1 = new People();
    $p1->set_info("Sam",22);
    $p1->get_info();

    $p1->ID = 12057;

    echo "<pre>".print_r($p1,true)."</pre>";
?>
Run Code Online (Sandbox Code Playgroud)

输出:

People Object
(
    [name:People:private] => Sam
    [age:People:private] => 22
    [ID] => 12057
) 
Run Code Online (Sandbox Code Playgroud)

没有IDPeople类中创建任何属性,但我可以ID使用在类外部分配值p1.

在Java中,这会产生错误 -

找不到标志

这是PHP中的一个功能吗?如果它是什么叫它?它有什么好处?

php properties

3
推荐指数
1
解决办法
68
查看次数

标签 统计

php ×2

properties ×1

stdclass ×1