当我将$this
传递给某个函数时,我收到错误消息,The function does not exists.
// In class A
class A extents F
{
function m()
{
Do($this);
}
function t()
{
}
}
class B extents F
{
function m()
{
Do($this);
}
function t()
{
}
}
// Some where in .inc.php file
function Do(F $obj)
{
$obj->t();
}
实际上,我有很多类继承自一个基类。所有这些课程都有一些共同的功能。我需要一个功能来处理它们。
答案 0 :(得分:1)
您不能将Do()
用作函数名称,因为它是reserved word
此外,您无法使用extents
,因为它是extends
另外,你不能使用extends F
因为你没有F级
这个有效
http://sandbox.phpcode.eu/g/450ee/1
<?php
class F{
}
class A extends F
{
function m()
{
_Do($this);
}
function t()
{
echo "<br />Class A works";
}
}
//removed unused class B
$a = new A();
$a->m();
// Some where in .inc.php file
// Changed Do to _Do, because Do is reserved word
function _Do(A $obj)
{
$obj->t();
}