关于php的更多信息$this

关于php的更多信息$this,php,Php,*更新示例 已经阅读了php.net的一些文章和文章。但在“this”示例中理解$this仍然有问题。我知道基本的用途是什么 让我们假设,我有一个函数,最后是这样的 退还$this//这美元之后什么都没有 方法末尾的$this是指什么? 我如何检查/回显这是多少美元 public function check($source, $items = array()){ foreach ($items as $item => $rules) { foreach($rule

*更新示例

已经阅读了php.net的一些文章和文章。但在“this”示例中理解$this仍然有问题。我知道基本的用途是什么

让我们假设,我有一个函数,最后是这样的 退还$this//这美元之后什么都没有

方法末尾的$this是指什么? 我如何检查/回显这是多少美元

public function check($source, $items = array()){
    foreach ($items as $item => $rules) {
        foreach($rules as $rule => $rule_value){

            $value = trim($source[$item]);
            $item = escape($item);

            if($rule === 'required' && empty($value)) {
                $this->addError("{$item} is required");
            } else if(!empty($value)) {
                switch($rule) {
                    case 'min':
                        if(strlen($value) < $rule_value ) {
                            $this->addError("{$item} must be a minimum of {$rule_value} characters");
                        }
                    break;
                    case 'max':
                        if(strlen($value) > $rule_value ) {
                            $this->addError("{$item} must be a maximum of {$rule_value} characters");
                        }

                    break;

                }
            }



        }
    }

    if(empty($this->_errors)) {
        $this->_passed= true;
    }

    return $this;

}   
*此代码是register and validation类的一部分。但关键仍然是美元到底指的是什么。感谢您的示例中,$指的是主类和对象

    class MainClass 
    {
      public function doSomething($x, $y)
      {
         $this->content = "Rssult is: " . $x+$y;
         return $this;
      }

   public function printMe()
    {
         echo $this->content;
    }
}

它返回对象和类

现在有什么用?方法链接是最基本的用法之一。我是什么意思

你见过这个吗

$myClass = new MainClass();

$myClass->doSomething()->print();
上面的代码是用一种称为方法链的方法实现的,因为有一系列方法函数可以不停地重复调用

基本上,如果没有方法链接,上述代码将是:

$myClass = new MainClass();
$s = $myClass->doSomething(5, 8);
$myClass->print();
但是对于方法链接,由于每个方法都返回整个类,就像您有了新的MainClass一样,因此它允许立即调用该方法

尽管它并不完全是新的MainClass,因为new操作符创建了该类的实例,而$this返回当前实例


简言之,$this表示PHP请返回类的当前实例副本,该类的属性可能在返回$this之前使用调用的方法进行了更改。

$this指的是对象本身。在这里阅读您在一个已删除的问题上提出的关于如何构建PHP代码板的问题。很高兴看到它有帮助