我按照教程用 PHP 创建了一个简单的博客写作应用程序,并修改了本教程中的类,以便它们具有附加功能。修改这个非常简单的应用程序让我更好地了解了 PHP 的工作原理,但是我遇到了一个有趣的情况。
我的项目中的一个类有大约六个类属性,例如public $id, public $author, public $post
。这些属性是在此类的开头声明的,但是我发现,如果删除除其中一个属性之外的所有属性,应用程序仍然可以正常运行。
删除属性声明是否错误,例如public $datePosted
从类的开头开始,如果该类仍然将变量分配给该属性,如下所示:$this->datePosted = $someVariableName;
如果你尝试access尚未声明的类属性,PHP 会发出通知:
class Foo { }
var $fu = new Foo();
echo $fu->baz;
Notice: Undefined property: Foo::$baz in blah.php on line 4
如果您先设置一个值($fu->baz = 'blah'
)那么它就不会抱怨,但这不是一个很好的情况。
您绝对应该声明所有类变量(当然,除非您想享受一些乐趣)魔法方法 https://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members)...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)