<?php
class Main
{
public function findSub($name = null)
{
Sub::show($name);
}
}
class Sub
{
public function show($name = null)
{
echo 'I am ' . $name;
}
}
$main = new Main;
$main->findSub('chan'); // I am chan
正如我记得的那样,如果你想通过className::functionName()
使用另一个类,你需要将函数声明为static
,在这种情况下我以静态方式调用show而不将函数声明为静态函数,但它仍然有效,怎么样?
答案 0 :(得分:1)
到目前为止,我认为您已禁止E_STRICT警告。它的工作原理(可能由于遗留原因),但不推荐使用。由于遗留原因,任何类方法都可以静态调用,即使它没有被声明为静态,因为你以前无法声明它们就这样。
Calling non-static methods statically generates an E_STRICT level warning.
官方文档refer this