[英]PHP: error-handling - best way to structure code for number of true/false statements?
在文件的頂部,我要檢查用戶權限,例如,如果已登錄,是否有權訪問頁面,哪些內容對他們可見,是否由用戶自己發布,是否已包含所有必要參數通過(例如POST
-vars)等
因此,問題是,您會建議什么是最好的方法(該代碼保持可讀性和可理解性,不是針對特定頁面的,因為它可以在每個頁面上實現,因為許多檢查需要數據庫查詢,所以性能等等) )
我問的原因是因為現在我正在做這樣的事情:
if($logged_in!=1) {$error="err1";}
else {
if(...) {...}
else {...}
}
因此,基本上,如果一個檢查返回acces被拒絕, if
s不會使代碼遍歷所有其他代碼,而是立即中斷。 我不使用exit
或die
因為我確實想顯示頁面(沒有內容,但有一個錯誤框),所以如果我使用exit
或die
,它將不會在下面顯示任何其他代碼...
您建議做什么?
非常感謝您的幫助。
好吧, if
/ else
結構往往是巨大的,並且不是很可讀。 您可以考慮將Exceptions
用於失敗案例,基本上是:
<?php
try {
if($logged_in!=1) {
throw new Exception("You must be logged in");
}
if(!another_condition()) {
throw new Exception("Another condition failed");
}
do_something();
}
catch (Exception $error) {
display_error_page($error->getMessage());
}
總的來說,這並不是最漂亮的方法:這些情況本身就是面向對象需求的完美示例。
也可以看看:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.