最好在PHP中使用Object或Static函数?

时间:2009-09-24 02:43:01

标签: php class oop

我正在尝试学习OO和类以及PHP中的所有好东西,我终于学习了sytax足够好用它一些而且我很好奇如果启动一个新对象而不是仅使用静态有任何好处方法......让我为我的意思展示一些代码...

<?PHP
test class
{
    public function cool()
    {
         retunr true;

    }
}

//Then calling it like this
$test = new test();
$test->cool();
?>

OR

<?PHP
test class
{
    public static function cool()
    {
         retunr true;

    }
}

//Then calling it like this
test::cool();

?>

我意识到这是可以想象的最基本的例子,答案可能取决于情况,但也许你可以帮我理解一点

3 个答案:

答案 0 :(得分:3)

对于您的示例,最好使用静态函数,但大多数情况不会那么简单。一个好的经验法则是,如果一个方法不使用$this变量,那么它应该是静态的。

答案 1 :(得分:1)

将类似“蓝图”的类想象成一个对象。你想使用静态方法,它是一个可以应用于任何地方的通用函数,并在你想引用那个特定对象时使用方法。

答案 2 :(得分:1)

这篇文章讨论了这些概念之间的性能差异: http://www.webhostingtalk.com/showthread.php?t=538076

基本上,性能没有任何重大差异,因此根据您的设计做出选择。

如果您要多次创建一个对象,那么显然一个类是有意义的。

如果要创建一个与特定对象无关的实用程序函数,则创建一个静态函数。