簡體   English   中英

我的自定義特定於系統的異常放在Zend Framework中的位置

[英]Where to put my custom system-specific exceptions in Zend Framework

我需要創建一些基本異常類並從中繼承。

我看到兩種方法:

1. Create folder 'Exceptions' in library and use standard autoload mechanism
    /library
      /Exception/
        Base.php
        InvalidParameter.php
2. Just declare exception classes in model, that uses it.

是否有更好的“ Zend-ish”方法?

如果您查看zend庫,他們通常所做的是

/library
   Exception.php
  /Exception/
    InvalidParameter.php

並且InvalidParameter類看起來像Exception_InvalidParameter擴展Exception一樣。 它與選項1中的建議非常相似。我通常喜歡將所有自定義庫類都包含在/library/custom

創建特定異常類的目的是將其與某些特定功能(數據庫,會話等)相關聯。 例如,如果您的功能可以在一堂課中完整描述

Class AdminController extends Zend_Controller_Action
{

public function loginAction()
{
  throw new LoginException('Failed login');
}
}

Class LoginException extends Exception {
}

請注意,這兩個類都在同一文件AdminController.php中。 這種方法速度更快,因為無需登錄就可以自動加載LoginException,因為它位於同一文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM