首頁  >  文章  >  後端開發  >  為何某些php框架定義了諸如FOPEN_READ FOPEN_READ_WRITE 這些常數

為何某些php框架定義了諸如FOPEN_READ FOPEN_READ_WRITE 這些常數

WBOY
WBOY原創
2016-08-04 09:18:591233瀏覽

,然後在檔案函數中呼叫。直接寫w,w+不是挺簡潔的嗎,為什麼還要繞圈子呢?
有些框架甚至還把一分鐘有60秒的這個60也定義成常量,還有個長長的常量名。這種永遠不會變的東西為何還要用常量呢?而且我覺得寫成$t=3600*24這種形式可讀性也不差啊

回覆內容:

,然後在檔案函數中呼叫。直接寫w,w+不是挺簡潔的嗎,為什麼還要繞圈子呢?
有些框架甚至還把一分鐘有60秒的這個60也定義成常量,還有個長長的常量名。這種永遠不會變的東西為何還要用常量呢?而且我覺得寫成$t=3600*24這種形式可讀性也不差啊

謝邀

  • 變數全名是為了增加可讀性,舉例thinkphp5以前的時代單字母函數一直被詬病就是沒有可讀性無法一看到就理解

  • 常數一般都定義在一個檔案或同一個位置方便維護

  • 可被多個地方重複調用,一旦有修改只要改一處

因為這個值肯定是被整個專案呼叫了很多次,如果不配置成常數,一旦要修改此值,那麼很有可能會漏掉的。

1 目前時間定義成常數是為了減少時間誤差,一般在入口定義。因為存在業務邏輯 所以請求時間便不等於你資料入庫時間。 打個比方 用戶點選提交答案 這個時候你的業務邏輯是 執行1億次循環 然後寫入資料庫。那你資料庫記錄的操作時間和真正使用者的操作時間是有差的。

2 防止time()多次使用導致時間差

3 有很大程度是存屬裝逼,人雲亦雲,有第一個框架這樣寫,新的框架開發前肯定會參考別人的 ,也就同樣的寫。

好比一個判斷語句

<code>if($a>1){
$a=1;
}</code>

有的人這樣寫

<code>if($a>1) $a=1;</code>

有的人這樣寫

<code>$a>1 and  $a=1;</code>

還有的這樣寫

<code>$a>1 && $a=1;</code>

只要你都能看得懂就行,用自己習慣的一種就可以了。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn