php - 我会在控制器中使用 self、static、this
问题描述
我像这样从另一个控制器扩展我的一个控制器:
类 ProductController 扩展 APIProductController
然后,现在我将使用一个 APIProductController 的函数,它在 ProductController 中命名为 ShowUser
<-------1------->
public function ShowUser()
{
return $this->ShowUser();
}
<-------2------->
public function ShowUser()
{
return static::ShowUser();
}
<-------3------->
public function ShowUser()
{
return self::ShowUser();
}
解决方案
您将需要使用parent
关键字,以便在 Child 类中调用 Base 类的函数:
public function ShowUser()
{
return parent::ShowUser();
}
来自PHP 文档:
Example #3 调用父类的方法
class MyClass { protected function myFunc() { echo "MyClass::myFunc()\n"; } } class OtherClass extends MyClass { // Override parent's definition public function myFunc() { // But still call the parent function parent::myFunc(); echo "OtherClass::myFunc()\n"; } }
推荐阅读
- visual-studio-code - Visual Studio Code:如何通过其路径在远程会话中打开本地文件?
- python - 如何使用pytest模拟完全重启
- python - ValueError: Input signal length=0 is too small to resample from 44100->22050
- nginx - Nginx 是否可以从上游响应流式传输文件?
- api - Filecoin 24 小时平均挖矿奖励 API?
- flutter - 使用共享偏好计算应用打开的次数
- uwp - 使用 Microsoft.UI.Xaml.Controls 时设置强调色不起作用
- vue.js - vuejs2 webpack项目中2GB文件的问题
- c++ - 为什么使用 != 在循环条件下比较迭代器
- node.js - 不应该有额外的属性(环回,MongoDB)