ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的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 ]; ``` 1. 【推荐】只一行书写一句代码,适当的使用空行可以增加阅读性; ## 本章参考正例 ~~~ <?php /** * Created by PhpStorm. * User: ChenDasheng * Date: 2019/9/12 * Time: 14:44 */ namespace app\admin\controller; use app\admin\model\Action as ActionModel; /** * 行为管理控制器 * @package app\admin\controller */ class Action extends Base { /** * 行为数据列表展示 * @author ChenDasheng * @created 2019/10/23 */ public function index() { $where = [ 'sex' => 0, 'age' => 25 ]; // 数据列表 $data = ActionModel::where($where)->order('id desc')->paginate(); $this->assign('data', $data); return $this->fetch(); } /** * 新增行为 * @author ChenDasheng * @created 2019/10/23 */ 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 ChenDasheng * @created 2019/10/23 * @editor 潘阳 * @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(); } } ~~~