小白问题,为什么对象都可以 echo ? [ 未指定版本 ]
<?= $form->field($model, 'code')->textInput(['maxlength' => true]) ?>
像这种 $form->field($model, 'code')
返回值是一个对象 object(yii\widgets\ActiveField)
。
我也找不到 toString()
方法, 为什么都可以直接 echo
?
最佳答案
-
ActiveField有__toString()方法~
/*** PHP magic method that returns the string representation of this object. * @return string the string representation of this object. */ public function __toString() { // __toString cannot throw exception // use trigger_error to bypass this limitation try { return $this->render(); } catch (\Exception $e) { ErrorHandler::convertExceptionToError($e); return ''; } } public function render($content = null) { if ($content === null) { if (!isset($this->parts['{input}'])) { $this->textInput(); } if (!isset($this->parts['{label}'])) { $this->label(); } if (!isset($this->parts['{error}'])) { $this->error(); } if (!isset($this->parts['{hint}'])) { $this->hint(null); } $content = strtr($this->template, $this->parts); } elseif (!is_string($content)) { $content = call_user_func($content, $this); } return $this->begin() . "\n" . $content . "\n" . $this->end(); }
共 1 条回复
其他 0 个回答
没有找到数据。
{乱⒎八糟ゃ 广东佛山
注册时间:2019-04-28
最后登录:2021-01-27
在线时长:2小时3分
最后登录:2021-01-27
在线时长:2小时3分
- 粉丝0
- 金钱105
- 威望0
- 积分125