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