我有一个概念性的问题来处理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