这个语法在php中意味着什么:if($ matches-> match_is_editable($ ts))

dav*_*ski 2 php syntax

我终于掌握了php中的大部分语法,但像这样的例子我似乎并不明白这意味着什么:

   if ( $matches->match_is_editable( $ts ) )
Run Code Online (Sandbox Code Playgroud)

这就是我的理解:

"$matches" 是一个变量

"->" 意味着它是同一个对象的一部分,但却混淆了它与下一个部分的关系

"match_is_editable" 是一个功能

"($ts)" 是一个被称为在该函数内部工作的变量

你能纠正我错的地方吗?将受到高度赞赏

Bee*_*ice 5

$matches->match_is_editable( $ts )
Run Code Online (Sandbox Code Playgroud)

->访问对象的方法(就是我们所说的功能时,他们属于对象)或属性.这意味着两件事:

  1. $matches是对象的句柄.在代码的前面你会发现$matches = new ClassName()(如果ClassName是对象类的名称)
  2. match_is_editable 必须是一种方法或财产 ClassName

在这种情况下,由于它采用了参数$ts,我们可以推断出它不是属性,而是方法.以下是该类的外观:

Class ClassName{
    public function match_is_editable($arg){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

所以顶行意味着:访问引用的对象$matches并执行其match_is_editable方法,并将参数传递给它$ts.