php类的成员变量没有声明

WBOY
Release: 2016-06-23 14:27:08
Original
1090 people have browsed it

php 面向对象

class test{    private $name;    private $sex;    function __construct(){        $this->aaa='aaa';    }}$test=new test();$reflect=new ReflectionClass($test);$pro=$reflect->getDefaultProperties();print_r($pro);//打印结果:Array ( [name] => [sex] => )echo $test->aaa;//打印结果:aaa
Copy after login


在这个test类中,声明了两个成员变量$name和$sex,但是在构造函数中,又声明了一个变量$aaa,初始化类,使用反射类打印默认成员属性只有声明的两个成员变量属性,但是打印类的$aaa变量发现还是可以输出结果。

请问类的成员变量不用声明,在函数中声明也是可以的吗,有什么区别?

回复讨论(解决方案)

动态产生的对象属性是全局性的,这与变量无需声明就可访问是一脉相承的
但是由于一些学究的批评,php 开始逐渐放弃这种轻巧的表述方法了
所以,应该尽量不要这样做

动态产生的对象属性是全局性的,这与变量无需声明就可访问是一脉相承的
但是由于一些学究的批评,php 开始逐渐放弃这种轻巧的表述方法了
所以,应该尽量不要这样做

http://tanteng.sinaapp.com/2013/11/php-reflectionclass-object/

谢谢,已有比较完整的回答了。

http://tanteng.sinaapp.com/2013/11/php-reflectionclass-object/

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template