跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • PHP 的 getter
未分類
1 4 月 2021

PHP 的 getter

PHP 的 getter

資深大佬 : eecjimmy 0

<?php  /**  * Class Person  */ class Person {     public function getName1()     {         static $name = false;         if ($name === false) {             $name = "张三";         }         return $name;     }      private $_name = false;      public function getName2()     {         if ($this->_name === false) {             $this->_name = "张三";         }         return $this->_name;     } }  

在不考虑其他情况下,getName1和getName2可有区别??

大佬有話說 (9)

  • 資深大佬 : JKeita

    第一种情况,很可能被人喷。

  • 資深大佬 : eason1874

    getName2 是设为内部值,内部其他方法还是可以改的,重新实例化 Person 也会重置它。

    getName1 是把值存起来了,改不了了,就算你重新实例化 Person 也改不了了。

  • 資深大佬 : zpfhbyx

    @JKeita 不会被人喷。。估计会被人打。。

  • 資深大佬 : InternetExplorer

    第一种会增加以后找 bug 的时间

  • 資深大佬 : FaceBug

    getName1

    直接 return ‘张三’就好了,整一堆没用的活儿

  • 資深大佬 : FreeEx

    有种 95 年咖啡的味道

  • 資深大佬 : CodeCodeStudy

    函数内部的 static 就是个黑箱子,外面是看不到里面的,而且函数退出后该 static 变量依然存在。

  • 資深大佬 : faqqcn

    一个属于实例,一个属于全局

  • 資深大佬 : CODEWEA

    变量属于函数,变量属于类

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具