静态函数好处:1.面向对象2.常驻内存,速度较快3.管理方便
如Yii::app()->params[$name];
公共方法好处:1.调用方便
如app_param($name);
在设置一个功能的时候,该怎么选择创建成静态函数还是公共方法?还是说现在都流行面向对象开发了?
漂亮男人2017-06-26 10:51:16
两者的作用域不同,用途不同,首先来看调用静态函数的语法,
静态函数:
类名:方法
公共函数:
方法
静态函数是依托类,而方法是全局使用,例如现在需要一个将中文转换为英文的方法,这种情况肯定是要放在公共方法里,因为它通用性很高,依赖很小。再举一个列子,我想在任何地方都能获取博客的关注人数,Blog:subscribe(),这个时候你用new(麻烦不说,执行效率也不如静态类)或者放在公共函数里,都是不合适,无疑静态类是最佳选择。
伊谢尔伦2017-06-26 10:51:16
两者在性能消耗上差别并不大,一般而言,如果是一个需要全局使用的,但是又需要类属性的方法,都会作为静态方法,而全局使用,不需要类属性的话,可以直接作为一个函数就OK。在代码规划上这个是一个考虑重点,比如你更倾向于在面向对象上做得更合理,更规范,那就尽量减少静态方法,代码规范上更统一。现在业务开发,更多还是面向对象更快捷且可维护性更强。