搜索

首页  >  问答  >  正文

laravel - php静态函数和公共方法的优劣

静态函数好处:1.面向对象2.常驻内存,速度较快3.管理方便
如Yii::app()->params[$name];
公共方法好处:1.调用方便
如app_param($name);
在设置一个功能的时候,该怎么选择创建成静态函数还是公共方法?还是说现在都流行面向对象开发了?

typechotypecho2709 天前853

全部回复(2)我来回复

  • 漂亮男人

    漂亮男人2017-06-26 10:51:16

    两者的作用域不同,用途不同,首先来看调用静态函数的语法,
    静态函数:

    类名:方法

    公共函数:

    方法
    

    静态函数是依托类,而方法是全局使用,例如现在需要一个将中文转换为英文的方法,这种情况肯定是要放在公共方法里,因为它通用性很高,依赖很小。再举一个列子,我想在任何地方都能获取博客的关注人数,Blog:subscribe(),这个时候你用new(麻烦不说,执行效率也不如静态类)或者放在公共函数里,都是不合适,无疑静态类是最佳选择。

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-26 10:51:16

    两者在性能消耗上差别并不大,一般而言,如果是一个需要全局使用的,但是又需要类属性的方法,都会作为静态方法,而全局使用,不需要类属性的话,可以直接作为一个函数就OK。在代码规划上这个是一个考虑重点,比如你更倾向于在面向对象上做得更合理,更规范,那就尽量减少静态方法,代码规范上更统一。现在业务开发,更多还是面向对象更快捷且可维护性更强。

    回复
    0
  • 取消回复