php - 是否可以像这样在单个对象中调用多个方法?
问题描述
我尝试在单个对象上调用多个函数。但我得到了这个错误
未捕获的错误:调用成员函数 dordor()
你能纠正我吗?
<?php
class Das
{
public $a= 'mulut';
public $b = 'anda';
public $c = 'kotor';
public function dor(){
echo $this->a.PHP_EOL;
echo $this->b.PHP_EOL;
echo $this->c.PHP_EOL;
echo PHP_EOL;
}
public function dordor(){
echo 'lmao';
echo PHP_EOL;
}
}
$s = new Das();
$s->a = 'mulut';
$s->b = 'anda';
$s->c = 'kotor';
$s
->dor()
->dordor();
?>
解决方案
您正在使用方法作为对象。$s->dor()->dor(); 但是 dor() 不是一个对象,而是一个方法。您必须$this->dordor();
在您的 dor() 方法代码的末尾添加调用 dor() 方法,该方法与您称为 dor() 方法的对象相同。这个:
<?php
class Das
{
public $a= 'mulut';
public $b = 'anda';
public $c = 'kotor';
public function dor(){
echo $this->a.PHP_EOL;
echo $this->b.PHP_EOL;
echo $this->c.PHP_EOL;
echo PHP_EOL;
$this->dordor();
}
public function dordor(){
echo 'lmao';
echo PHP_EOL;
}
}
$s = new Das();
$s->a = 'mulut';
$s->b = 'anda';
$s->c = 'kotor';
$s->dor();
?>
推荐阅读
- android - 如何使 android 图像资产 (jpg) 在 Drawable 中快速更改以制作短动画?
- csv - Goolge Colab 文件上传不上传 csv 文件
- sql-server - 换行符在sql server中显示为空格
- javascript - 使用 $http.post() 以“FormData”形式传递图像和其他数据时出现问题
- python - 用 conda 分发你的 python 包?
- python-3.x - Pandas Dataframe - 将 groupby 内容转换为列表
- python - gspread.exception 电子表格未在特定工作表上找到
- clojure - 如何模拟协议的特定实现?
- jquery - Jquery未在电话间隙应用程序中执行显示
- marklogic-9 - 我们可以在marklogic中编写一个唯一的TDE配置文件来从不同的实体xml文档中获取数据吗