使用另一个类静态函数

时间:2014-11-21 03:56:41

标签: php

<?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而不将函数声明为静态函数,但它仍然有效,怎么样?

1 个答案:

答案 0 :(得分:1)

到目前为止,我认为您已禁止E_STRICT警告。它的工作原理(可能由于遗留原因),但不推荐使用。由于遗留原因,任何类方法都可以静态调用,即使它没有被声明为静态,因为你以前无法声明它们就这样。

Calling non-static methods statically generates an E_STRICT level warning.

官方文档refer this