2011-08-10 81 views
1

直到最近,如下圖所示創建並拋出自定義異常我做:在我的web應用程序中存儲異常?

文件: Myclass.php:

namespace myapp\libraries; 

class myclass { 

    setEmail($email) { 
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
      throw new myClassException("Email not valid"); 
     } 
    } 

} 

class myClassException extends \Exception {} 

好了,這個效果很好,且易於維護和如果自定義例外總是存在於同一個文件中並且在引發例外的類之後定義。

問題:當前的PHP約定和常識是什麼意思?

這裏是我能想到的解決方案:將調用類後立即

  1. 保持宣告自定義異常/扔了吧。
  2. 將所有自定義異常存儲在一個相互共享的文件中,稱爲customExceptions.php
  3. 將所有自定義異常存儲在以其例外myClassException.php命名的單獨文件中,該文件位於名爲/exceptions的目錄中。
+0

我太想一個答案,但接受的答案有反對票所以..我想hgihly自定義異常的拋出它們的類屬,一般例外屬於單一文件。雖然這會導致大量文件。我們的大多數異常類都是空的,只能在一個地方拋出,因此整個文件看起來很浪費。 –

+0

單個文件+日誌聚合對我來說似乎是最好的事情,在我提出問題兩年後。 – Industrial

+0

所有異常的單個文件?我的問題是,我們的應用程序(使用Symfony)的模塊化構造被破壞,每個模塊都會在別處有依賴關係(不是我們期望共享模塊,而是依然)。 –

回答

-1

分開存儲所有類,一個類 - 一個文件。類的名稱也應該是包含文件的名稱(逐字,區分大小寫)。
以「vendor/application/...」格式使用命名空間 - 這是非常方便的事情,我保證。
More about it

相關問題