2012-01-09 127 views
7

我只是想知道使用public static functionprivate static function而不是简单的public functionprivate function有什么好处?PHP |为什么我应该使用公共静态/私有静态函数而不是公共/私有函数?

+0

这不是有利或不利的问题。另外,你有没有搜索过这个网站? – BoltClock 2012-01-09 07:09:41

+4

你不需要创建对象来使用静态方法..并且有很多相关的问题! – meze 2012-01-09 07:09:58

+0

是的,我正在阅读一些PHP手册网站,但我似乎不明白为什么使用静态方法,我只理解,而不是像这样调用公共函数' - >'我可以做这个'::'和一些其他信息,我读了关于PHP手册网站上的静态方法... – Roland 2012-01-09 07:13:15

回答

22

在定义它们的类的实例上调用“正常”方法(通常称为实例方法)。该方法将始终通过$this访问其对象,因此它可以使用该对象所携带的数据(并且实际上修改它)。这是面向对象编程的核心方面,它使得一个类不仅仅是一堆数据。

另一方面,对静态方法的调用不与特定对象关联。它们在这方面的表现与常规功能一样;实际上唯一的区别是它们可能被标记为private,并且也可以在自己的类的实例上访问私有方法和变量。静态函数实际上只是程序编程的延伸。

例如,一个实例方法被调用的对象上:

$object = new MyClass(); 
$result = $object->myInstanceMethod(); 

静态方法被称为类本身:

$result = MyClass::myStaticMethod(); 
相关问题