>백엔드 개발 >PHP 튜토리얼 >Laravel Log模块设计

Laravel Log模块设计

WBOY
WBOY원래의
2016-06-06 20:13:53933검색

写一个laravel项目,需求是将CURD的记录写入mysql的log表中,
我现在的方案就是CURD结束后自己写的LOG repository 记录一下 ,如下,

<code>$result = $this->customer->add($request->all());
if($result>0){
    $this->log->write('新增客户'.$request->input('name'));
}</code>

觉得很不优雅,大家有什么好的思路吗

回复内容:

写一个laravel项目,需求是将CURD的记录写入mysql的log表中,
我现在的方案就是CURD结束后自己写的LOG repository 记录一下 ,如下,

<code>$result = $this->customer->add($request->all());
if($result>0){
    $this->log->write('新增客户'.$request->input('name'));
}</code>

觉得很不优雅,大家有什么好的思路吗

用laravel 的事件机制记录日志
http://www.golaravel.com/laravel/docs/5.0/events/

注册“新增客户”事件

'App\Events\AddUser'

注册“日志记录”事件监听者

'App\Listeners\LogRecord'

订阅事件

在 EventServiceProvider 中

protected $listen = [

<code>'App\Events\AddUser' => [
    'App\Listeners\LogRecord',
],</code>

];

触发事件

$result = $this->customer->add($request->all());
event(new AddUser($result ));

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.