企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
1. 【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则: 1) 左大括号前不换行 ; 2) 左大括号后换行; 3) 右大括号前换行; 4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行; 2. 【强制】 左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格; 正例:if ($a == $b) 反例:if (空格 $a == $b 空格) 3. 【强制】if/foreach/while/switch 等保留字与括号之间都必须加空格; 4. 【强制】任何二目、三目运算符,操作符的左右两边都需要加一个空格; 说明:运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号等; 5. 【强制】采用 4 个空格缩进,禁止使用 tab 字符; 说明:如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, 请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs。phpstorm设置tab为4个空格缩进的方法:File -> Setting -> Code Style -> PHP,右侧不要勾选 "Use tab character"; 6. 【强制】函数、方法的各个参数之间,逗号(",")后面有一个空格; 7. 【强制】命名空间(namespace)和导入(use)声明 1)命名空间(namespace)的声明后面必须有一行空行; 2)所有的导入(use)声明必须放在命名空间(namespace)声明的下面; 3)一句声明中,必须只有一个导入(use)关键字; 4)在导入(use)声明代码块后面必须有一行空行; 8. 【推荐】数组如果有超过2个键值对时,请换行 正例 ``` $where = [ 'id' => $id, 'username' => $name ]; ``` 9. 【推荐】只一行书写一句代码,适当的使用空行可以增加阅读性; ## 本章参考正例 ``` <?php // +---------------------------------------------------------------------- // | 犇犇XX系统 // +---------------------------------------------------------------------- // | Copyright (c) 2006-2019 http://www.benbenwangluo.com/ // +---------------------------------------------------------------------- // | 河南犇犇网络科技有限公司 // +---------------------------------------------------------------------- namespace app\admin\controller; use app\admin\model\Action as ActionModel; /** * 行为管理控制器 * @package app\admin\controller */ class Action extends Base { /** * 行为数据列表展示 * @author 似水星辰 [ 2630481389@qq.com ] * @created 2019.03.29 */ public function index() { $where = [ 'sex' => 0, 'age' => 25 ]; // 数据列表 $data = ActionModel::where($where)->order('id desc')->paginate(); $this->assign('data', $data); return $this->fetch(); } /** * 新增行为 * @author 似水星辰 [ 2630481389@qq.com ] * @created 2019.03.29 */ public function add() { // 保存数据 if ($this->request->isPost()) { $data = $this->request->post(); // 验证 $result = $this->validate($data, 'Action.add'); // 验证失败 输出错误信息 if (true !== $result) { $this->error($result); } if (ActionModel::create($data)) { // 记录行为 action_log('admin_action_add', 'admin_action', $id, UID, $data['name']); $this->success('新增成功'); } else { $this->error('新增失败'); } } return $this->fetch(); } /** * 编辑行为 * @param int $id 行为id * @author 似水星辰 [ 2630481389@qq.com ] * @created 2019.03.29 * @editor 张工 [ xxx@qq.com ] * @updated 2019.03.30 * @return mixed */ public function edit($id = null) { if ($id === null) { $this->error('缺少参数'); } // 保存数据 if ($this->request->isPost()) { $data = $this->request->post(); // 验证 $result = $this->validate($data, 'Action.update'); // 验证失败 输出错误信息 if (true !== $result) { $this->error($result); } if (ActionModel::update($data)) { // 记录行为 action_log('admin_action_edit', 'admin_action', $id, UID, $data['name']); $this->success('编辑成功', cookie('__forward__')); } else { $this->error('编辑失败'); } } // 获取数据 $info = ActionModel::where('id', $id)->find(); $this->assign('info',$info); return $this->fetch(); } } ```