或任何与此相关的框架。
以 Zend Framework 2 为例,我有以下表类:
<?php
namespace Contact\Model;
use Zend\Db\TableGateway\TableGateway;
use Zend\Db\TableGateway\AbstractTableGateway;
use Zend\Log\Logger;
class UserContactsTable extends AbstractTableGateway
{
protected $tableGateway;
/**
*
* @var \Zend\Log\Logger Instance
*/
protected $logger;
public function __construct(TableGateway $tableGateway, Logger $logger )
{
$this->tableGateway = $tableGateway;
$this->logger = $logger;
}
/**
* Save a contact
*
* @param \Sms\Model\UserContact $userContact
*/
public function saveUserContact(UserContact $userContact)
{
$data = array(
'user_id' => $userContact->user_id,
'contact_id' => $userContact->contact_id
);
try {
$this->tableGateway->insert($data);
} catch (\Exception $e) {
//log
$this->logger->crit($omeErrMsg);
}
}
}
?>
我应该在这里登录吗?我应该将我的记录器绑定到表类吗?如果插入失败并在控制器中捕获并在那里记录,我是否应该让 saveUserContact 函数抛出异常?
最好的做法是什么?
我最初的想法是创建一个带有一些恒定错误消息的类,例如记录器在表类中使用的插入和更新失败,但我不确定这里的正确过程是什么。
这并不仅限于 PHP 或 Zend Framework 2,而恰好是我正在使用的语言。