好吧,我有一个错误类,在那里你可以做$error->add($message);
这将存储$消息到类中的数组。如何使用类内部的错误类
private $_errorArray = array();
public function add($message){
$this->_errorArray[] = $message;
}
public function output(){
return $this->_errorArray;
}
public function exists(){
if(empty($this->_errorArray)){
return false;
}else{
return true;
}
}
}
现在如果我有一个类AlbumMapper,那抓取和分配变量。但如果它不能抓取(没有行选择),那么它应该添加一条消息到这个错误。
class AlbumMapper {
private $_pdo;
function __construct($pdo){
$this->_pdo = $pdo;
}
public function fetch($album){
$columns = "id, title, uID, date";
$table = TABLE_USERS_ALBUMS;
$query = "SELECT ".$columns." FROM ".$table." WHERE id=:id";
$query = $this->_pdo->prepare($query);
$query->bindValue(":id", $album->id());
$query->execute();
if(! $data = $query->fetch()) { $errors->add("Album not exists"); }
$album->assign($data);
}
}
而且,我想输出错误OUTSIDE类。 所以:
$error = new errors();
$albumMapper->fetch($album);
if ($error->exists()) { $error->output(); }
我可以做这个工作,如果我通过了$错误的fetch()方法,但后来我需要在$错误传递给我的方法,而它不觉得最好方法来做到这一点。
我也可以通过在对象$ albumMapper中创建对象来实现,因此在构造函数中它会:$error = new errors();
,然后您可以将错误添加到此,但是如果有错误,那么我将如何输出错误?
是否有异常不显示为真正的错误,就像网站有什么问题?我想输出简单的“没有相册存在”不是“例外已被捕获:错误...在线...”..如果你可以这样做,请示例 – Karem
使用'try-catch'。我相信你可以找到很多例子。 – Halcyon