Vorteile statischer Funktionen: 1. Objektorientiert 2. Resident im Speicher, schneller 3. Einfach zu verwalten
Zum Beispiel Yii::app()->params[$name];
Vorteile öffentlicher Methoden: 1. Einfach aufzurufen
Zum Beispiel app_param($name);
Wie soll ich beim Einrichten einer Funktion wählen, ob sie als statische Funktion oder als öffentliche Methode erstellt werden soll? Oder ist die objektorientierte Entwicklung mittlerweile beliebt?
两者的作用域不同,用途不同,首先来看调用静态函数的语法,
静态函数:
公共函数:
静态函数是依托类,而方法是全局使用,例如现在需要一个将中文转换为英文的方法,这种情况肯定是要放在公共方法里,因为它通用性很高,依赖很小。再举一个列子,我想在任何地方都能获取博客的关注人数,Blog:subscribe(),这个时候你用new(麻烦不说,执行效率也不如静态类)或者放在公共函数里,都是不合适,无疑静态类是最佳选择。
两者在性能消耗上差别并不大,一般而言,如果是一个需要全局使用的,但是又需要类属性的方法,都会作为静态方法,而全局使用,不需要类属性的话,可以直接作为一个函数就OK。在代码规划上这个是一个考虑重点,比如你更倾向于在面向对象上做得更合理,更规范,那就尽量减少静态方法,代码规范上更统一。现在业务开发,更多还是面向对象更快捷且可维护性更强。