ThinkPHP3.2.3 完整版 + Layer + PhpStorm + kindeditor + uploadify
- 封装对话框 Dialog.js
- 对密码加密最好利用 MD5(密码 + 盐值) 的形式
- 对于后台 session 判断,抽象出一个公共类
- 设计新闻数据表时,把新闻内容字段独立成一个副表
exit('hi');
等同于echo 'hi'; exit;
exit()
等同于die()
- json_encode,json_decode
- 模块 m,控制器 c,方法 a;http://localhost/thinkphp-cms/index.php?m=home&c=index&a=index
- 开发规范
- 一个控制器对应一个文件夹;一个页面对应一个方法
- 应用公共函数写在
Application/Common/Common/function.php
中 - 使用 I 函数来安全获取变量
- 使用 C 函数来读取配置变量
- 使用 M 方法来实例化数据表
- 使用 D 方法来实例化模型
- 使用
getLastSql
方法来调试 SQL 语句 - 设置 admin.php 为后台入口文件
- 新建登录控制器 Application/Admin/Controller/LoginController.class.php
- 新建登录模板 Application/Admin/View/Login/index.html
- 把模板的静态资源(css/js)放到 /Public/ 下,然后在模板中的静态资源路径前加
__PUBLIC__
- 利用 layer 封装 dialog.js
- 封装 login.js 类来异步提交表单数据
- 新建应用公共函数 Application/Common/Common/function.php
- 编写 show_message 函数(TP 中有内置两个跳转方法 success 和 error 可以代替 show_message)
- 登录,退出
- 菜单管理(排序、增删改查)
- 文章管理(排序、增删改查、图片异步上传、编辑器、更改状态、预览、推荐)
- 推荐位管理(排序、增删改查、推荐)
- 用户管理(增删改查)
- 系统基本信息
- 缓存配置
- 前端 Ajax 刷新点击量
- 后台用户表(对 username 进行索引)
- 菜单表
- 新闻文章主表
- 新闻文章内容副表(把 content 放到副表)
- 推荐位标识表
- 推荐位内容表
目的:快速调用
- 前端校验和获取数据
- 服务端对数据进行强校验(封装 show 函数输出 json,关键函数 json_encode)
- 用户信息的数据库校验(单独建一个 db.php,LOAD_EXT_CONFIG)
- 登录成功记录 session
- 退出登录清除 session
- 用 JS 将表单数据转换为 json 格式
- 提交数据(为什么要序列化数据)
- PHP 处理数据交互(使用 add 方法进行数据写入)
- 菜单列表(列表展示、分页、搜索)
- volist
- 判断状态获取文本,写在 function.php 中
- 模板中判断使用
eq
- 删除模块(不实际删除,只改变状态,为什么要抛出异常)
- 排序模块(序号为什么要用数组类型)
- 将配置的数据读取到后台菜单栏中
- 图片异步上传(uploadify,TP 自带上传类库)
- kindeditor 编辑器内部图片异步上传(文档)
- 文章数据表分主表和副表
- 标题颜色和来源可以写在配置文件中
- 入库的数据都要进行过滤 htmlspecialchars 防 xss 攻击
- 列表分页与搜索
- 使用静态缓存来保存数据
- 使用 F 方法来实现