php - 在 OOP 中调用和输出具有 echo 属性的方法
问题描述
有这样的代码构造
abstract class Main{
protected $name = 'Main';
public function callMe()
{
return $this->foo();
}
public function foo()
{
throw new Exception('Foo Not Found');
}
protected function getName()
{
return $this->name;
}
}
class One extends Main
{
public function foo()
{
$name = $this->getName();
echo "Hello from class ".$name."\n";
}
public function getName()
{
echo "Two";
}
}
我创建一个对象并调用该callMe ()
方法
$one = new One();
$one->callMe();
但她带给我
TwoHello from class
但不是
Hello from class Two
c 返回所有规则的工作,
public function getName ()
{
return 'Two';
}
但是为什么 echotwo
在表达式之前打印?如果它应该分配给一个变量?
解决方案
推荐阅读
- firebase - 我可以为任何人应用写入规则来更新存储在 firebase rt 数据库中的对象中的特定项目吗?
- javascript - .after 不要读取 var 值
- php - 挣扎于 PHP 策略模式和接口继承
- ruby-on-rails - form_with 使用嵌套部分将表单内容呈现在元素表格,将内容渲染到表格行中
- shell - “Shell 命令语言”文档 - “令牌识别”部分中的反直觉句子
- javascript - Google 表格:使用脚本自动更新 - 不起作用
- r - 如何将计数查询的结果写回 R 中的列?
- node.js - npm 错误!在对 Node.js Web 应用进行 Dockerizing 期间对 https://registry.npmjs.org 的请求
- css - 无法向 Bulma 日历元素添加过渡
- ruby-on-rails - 如何在我的 ruby on rails 应用程序上仅显示选定客户的建筑物