我有一個概念性的問題來處理PHP類和錯誤處理。下面是一個基本的類展示我的問題。PHP - 返回多個狀態,而不僅僅是真/假
創建數據庫記錄的函數名稱爲「domain_create」。該函數調用一個輔助函數來確保要創建的域在數據庫表中不存在。
在過去,我一直使用true或false來反映函數是否發現了一條記錄,但這在我的邏輯中創建了一個缺陷。當domain_lu函數返回false時插入記錄,但是應該在遇到錯誤,如選擇失敗?返回false將導致創建函數相信沒有發現任何東西,並繼續創建過程。
我的問題是如何在這種情況下反映多個狀態?這種情況有沒有「最佳做法」?
<?php
require_once('auth.base.class.php');
require_once('mysql.class.php');
class auth extends base
{
public function __construct()
{
parent::__construct();
}
/*
* User
*/
public function domain_create($args='')
{
if (domain_lu($args['dname']) === FALSE)
{
return $error['Domain already in use'];
}
}
/*
* Domain
*/
private function domain_lu($dname)
{
$sql = "SELECT name FROM domain WHERE name = '$dname'";
$this->_mysql->SQLQuery($sql);
if ($this->_mysql->numRow() > 0) return true;
else return false;
}
}
?>
很明顯,第三個選項應該是FILE_NOT_FOUND(http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx) – 2010-08-26 10:22:16