

<pre class="wp-block-syntaxhighlighter-code">
<?php
return [
302200 => '新建选题【{plan_title}】',
302201 => '启用选题【{plan_title}】',
302202 => '禁用选题【{plan_title}】',
302203 => '提交选题【{plan_title}】进行审核',
302204 => '编辑选题【{plan_title}】',
302205 => '删除选题【{plan_title}】',
302206 => '通过选题【{plan_title}】',
302207 => '拒绝选题【{plan_title}】',
302208 => '指派【{plan_task_title}】{plan_task_type}给【{user_nick}】',
302209 => '启用【{plan_task_title}】{plan_task_type}',
302210 => '禁用【{plan_task_title}】{plan_task_type}',
302211 => '删除【{plan_task_title}】{plan_task_type}',
302212 => '新建【{plan_task_title}】{plan_task_type}指派给【{user_nick}】',
302213 => '编辑【{plan_task_title}】{plan_task_type}',
302214 => '转派【{plan_task_title}】{plan_task_type}给【{user_nick}】',
302215 => '认领【{plan_task_title}】{plan_task_type}',
];
</pre>
<pre class="wp-block-syntaxhighlighter-code">
<?php
return [
'cmcApiLogOperates' => [ //框架服务接口日志操作类型
[
'operateKey' => 'plan_management', //操作类型标识
'operateTitle' => '选题管理', //操作类型名称
'codes' => [302200, 302201, 302202, 302203, 302204, 302205], //日志详情的返回码
],
[
'operateKey' => 'plan_review', //操作类型标识
'operateTitle' => '选题审核', //操作类型名称
'codes' => [302206, 302207], //日志详情的返回码
],
[
'operateKey' => 'plan_task_management', //操作类型标识
'operateTitle' => '任务管理', //操作类型名称
'codes' => [302208, 302209, 302210, 302211, 302212, 302213, 302214, 302215], //日志详情的返回码
]
],
];
</pre>
/**
* 自动创建上报日志信息,放入(Yii::$app->params['cmcApiLogs']),为后续 HTTP 请求准备数据
* @param int $code 返回码
* @param array $data 数据,需要被替换的变量
* 格式如下:
* [
* 'plan_title' => '选题名称',
* ]
*
* @param object $identity 当前用户的身份实例
*/
public static function automaticCreate($code, $data, $identity)
{
foreach (Yii::$app->params['cmcApiLogOperates'] as $operateValue) {
foreach ($operateValue['codes'] as $codeValue) {
if ($codeValue == $code) {
$operateKey = $operateValue['operateKey'];
$operateTitle = $operateValue['operateTitle'];
}
}
}
if (isset($operateKey) && isset($operateTitle)) {
Yii::$app->params['cmcApiLogs'][] = [
'user_token' => $identity->user_token,
'service_key' => Yii::$app->params['cmcApi']['serviceKey'],
'log_type' => 'operate',
'operate_key' => $operateKey,
'operate_title' => $operateTitle,
'log_detail' => Yii::t('application', Yii::t('application', Yii::t('application', $code), $data)),
'log_time' => date('Y-m-d H:i:s'),
'log_ip' => '0.0.0.0',
];
}
}
![在 触发 EVENT_AFTER_REQUEST 事件中判断是否存在,如果存在则打印 Yii::$app->params['cmcApiLogs']。存在 2 条日志记录,可以在 触发 EVENT_AFTER_REQUEST 事件中 获取全局变量中的日志记录,一次 HTTP 请求,一并发送给中台的日志系统。](https://media.shuijingwanwq.com/2021/10/3-4.png)
Array
(
[0] => Array
(
[user_token] => 3cf1c3d1db4951ad3179e1452580c0c3
[service_key] => pcs
[log_type] => operate
[operate_key] => plan_management
[operate_title] => 选题管理
[log_detail] => 新建选题【选题 20211015 0】
[log_time] => 2021-10-15 14:02:00
[log_ip] => 0.0.0.0
)
[1] => Array
(
[user_token] => 3cf1c3d1db4951ad3179e1452580c0c3
[service_key] => pcs
[log_type] => operate
[operate_key] => plan_management
[operate_title] => 选题管理
[log_detail] => 提交选题【选题 20211015 0】进行审核
[log_time] => 2021-10-15 14:02:00
[log_ip] => 0.0.0.0
)
)
PHP / Laravel / Yii2 老项目维护与长期技术支持
如果你的 PHP / Laravel / Yii2 项目已经上线,但遇到原开发离职、Bug 长期无人修复、接口不稳定、性能下降、代码难以接手等问题,可以联系我做一次远程技术排查。
适合以下情况:
✅ 老旧 PHP 系统无人维护
✅ Laravel / Yii2 项目 Bug 修复
✅ 后台管理系统小功能迭代
✅ RESTful API 接口排查
✅ MySQL / Redis / Nginx 性能问题
✅ 长期远程兼职维护
可先从一次小问题开始:
✅ 线上报错排查
✅ 接口异常分析
✅ 慢查询与性能瓶颈定位
✅ 代码结构初步评估
✅ 部署环境与日志检查
如需咨询,请联系我,并注明:PHP 维护咨询。
联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

发表回复