php中大量使用die或exit是否有弊端?

來源:互聯網
上載者:User
php 中大量使用 dieexit,除了可讀性方面是否有其他弊端?

回複內容:

php 中大量使用 dieexit,除了可讀性方面是否有其他弊端?

我覺得 die()/exit() 主要是影響程式的設計,也就是影響可讀性和未來的可維護性。我自己是堅決抵制無腦使用 die()/exit() 的。

在 php 引入異常機制之前, die()/exit() 是僅有的提前退出程式的方法,用一用還湊合。但有了異常機制之後,應該學習 java 的設計思路:業務的錯誤用傳回值返回,無法處理的請求拋異常。這樣的設計保證了調用者無論如何都有足夠的控制權,從而讓整個系統是健壯的。

在設計工具類和工具函數時,die()/exit() 應該嚴令禁止,因為它們無權決定整個程式的生死。

在寫一個具體業務指令碼時,die()/exit() 僅在需要向 shell 返回狀態代碼或者確實確定業務已經結束的情況下使用,其他情況最好禁止使用。

die()exit()都是表示在這裡就自然結束,我覺得很正常啊,為什麼會有可讀性的問題?私以為超長的邏輯嵌套和多重include更有可能造成你所謂的可讀性的問題。

exit和die是人為結束指令碼運行,顧名思義,可讀性肯定沒有問題的。
效能方面,直接結束指令碼運行,對效能是有益無害。
如果非要說弊端,那我認為是:本來應該用return的時候卻使用了exit,可能指令碼提前退出,造成功能上的問題。不過,我認為這是寫代碼的人的問題,和文法結構沒有關係。
所以,該用就用吧,放心大膽的用,提供出來就是讓人使用的。

對於程式碼書寫來說,我同意公子 @公子 dieexit 就是程式結束。

但是對於函數和庫的設計來說,我覺得不應該使用這兩個,而是使用 return。因為一個函數的調用,不應該將整個程式給停止了(OMG,這個函數的許可權也太大了點兒吧)。不管這個函數是正確調用,還是出現問題了,都應該通知他的調用者,方法當然是通過 return 了。

還沒有遇到過效能上的問題,但是如果你使用trigger_error()函數來替代die(),你的代碼在處理錯誤上會更具優勢,對於客戶程式員來說更易於處理錯誤。
下面是是我轉寄的一篇文章,你可以看看:http://blog.csdn.net/yipiankongbai/article/details/17568223

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.