我对这段代码中显示的情况感到有点困惑……
class DirEnt { public function PopulateDirectory($path) { /*... code ...*/ while ($file = readdir($folder)) { is_dir($file) ? $dtype = DType::Folder : $dtype = Dtype::File; $this->push_back(new SomeClass($file,$dtype)); } /*... code ...*/ } //Element inserter. public function push_back($element) { //Insert the element. } }
为什么我需要使用$this-> push_back(new SomeClass($file,$dtype))或self :: push_back(new SomeClass($file,$dtype))来调用成员函数push_back?我似乎无法通过像我期望的那样执行push_back(新的SomeClass($file,$dtype))来访问它.我读了When to use self over $this?,但它没有回答为什么我需要其中一个(或者如果我做的话,也许我搞砸了别的东西).
I cant seem to access it just by doing
push_back(new SomeClass($file,$dtype))
like I would have expected.
这样你就可以将push_back()作为函数调用.没有办法围绕$this(对象方法)或self :: / static ::(对于类方法),因为它会导致歧义
请记住:PHP不是Java;)
原文地址:https://www.jb51.cc/php/137741.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。