美文网首页PHP经验分享PHP实战
moTzxx-CMS —— [一个基于PHP代码的后台管理系统(

moTzxx-CMS —— [一个基于PHP代码的后台管理系统(

作者: 泥豆芽儿MT | 来源:发表于2018-11-23 08:46 被阅读15次

☪ 前言

说点啥,呵呵呵呵...

①. 闲话闲说

- 近期使用 LayUI 的过程中;
- 越发觉得对方的设计理念符合我的审美,主要是后台开发者使用简单;
- 而另一方面;
- 想到作为一名 PHPer 却一直没有一套属于自己的后台管理系统;
- 所以决定花费一些时间;
- 在借鉴官方文档和其他开发者设计思路的前提下,打造一个属于自己的后台管理系统 ...

②. 提示信息

系统设计:后端基于PHP语言设计,前端基于 Layui 模块化框架

> 补充时间:[2018-11-21 19:36]
> 项目开发中,难免会用到一些比较流行的 PHP开发框架, 所以在此提供 ThinkPHP5.1 框架下整理的系统代码
> 近期抽出时间,正在优化 ThinkPHP5  这个框架的代码,可用,也希望多给指点,进行后期的优化升级
> 后期的更新优化记录,会补充到后面的附录中 ...
image

☁ 一 主要功能

毕竟一个人瞎折腾,能力有限,暂且展示已完成的主要功能,欢迎指摘以及技术指导,道友参上!...

①. 菜单管理

菜单的链接即为定义的路由,

  • 根据鄙人设计思路:一般若是根级目录下有二级目录时,此根级目录的链接不生效,不然无法正确引导其他页面


    image
  • 指导说明

> 主要注意的是其中的 "action"  的填写,可以参考已有的数据,这是对应于路由文件中的写法
> 测试时发现,在展示菜单数据时,会发现数目不对,请查看数据库中的表 tp5_nav_menus ,
   其中 “根级菜单” 的对应 “ID”,确认更改为 0;
   追究缘故,应该是在导入表数据时,默认将其ID更新为了自增长的最新ID. 正在考虑中...

②. 管理员列表

后期如果添加更多的信息,可自行扩展,此处是主要的属性信息

image
  • 说明信息
> 对于密码的加密,一般每个开发者都有自己的想法,我的加密比较简单 md5+base64,可自行复杂性优化
> 修改数据的时候,注意,如果不想改动密码,是无需进行填写的!

③. 角色(权限)管理

  • 此功能主要是为了给管理员分配不同的权限,即打开的导航菜单更有不同,以避免权力的滥用,这部分的 js 代码写的最耗费时间
    image

④. 文章管理

  • 这是常规的后台信息管理功能,其次还有个“今日赠言”,也是大同小异
image
  • 此处较为亮点的功能即为 layer文件上传UEditor富文本编辑器 的使用,具体的实现可以参考下面两篇文章:

Laravel+Layer 图片上传功能整理
Laravel 框架集成 UEditor 编辑器的方法

☄ 二 使用指导

对于项目的安装配置,毕竟是两种不同的框架设计,所以在使用上,需要 “因材施教”,在此进行分别指导说明

①.ThinkPHP5 项目de安装

  • 为了操作方便,建议打开 MySql管理工具,直接运行所提供的 database/tp5_pro.sql 数据库文件

    image
  • 说明信息

> 其次就是到 config/database.php 文件中,配置正确的数据库连接信息
> 这是鄙人的默认数据,后期可自行修改优化.

Ⅲ. 浏览器访问

对于配置完成后的访问,一般都是需要自行配置虚拟域名的哦

  • 以我的操作为例,在自己的集成环境 PhpStudy 服务中,配置的虚拟域名为 tp51Pro.com ,则入口网址为:
> 前台 : tp51pro.com/
> 后台 : lar5Pro.com/cms/index
> 登录数据  ——  [用户名]:moTzxx@admin  [密码]:admin 
  • 前台登录效果,仅为参考,毕竟主要的任务时进行后台管理的实现嘛


    image
  • 后台首页进入效果:


    image

➹ 三 行为比较

其实,对应的 Laravel5.5 框架初步编写的后台管理系统早已支持使用,后期优化完善后再做上传比较

  • 【提示】:
> 可以注意到: 当下流行的 ThinkPHP5.1 和 Laravel5.5 有着极为接近的设计理念;
   甚至同样的代码,仅仅稍作修改即能通用;
   例如:
>  1. 注册路由方式类同
>  2. 模型的对象化使用极为相似,但是两者间的几个关键词要注意;
      比如 ThinkPHP5.1使用 field、order、find、select、alias等;
      而Laravel5.5 使用 select、orderBy、get、first 等
>  3. model类 命名的方式不一样,注意 "s",比如表格 articles ,前者 model 命名为 Articles,后者却为 Article
>  4. 对于数据表的字段命名
      注意到一点:其中的 "created_at/updated_at" 不能生效,
      是因为框架默认的自动时间戳配置不同
>  5. 页面跳转方式要注意下,同时前者可以 __construct() 初始化判断 Session 数据,而后者不可
>  6. 等等等 ...

✎ 附录

①. GitHub 源码下载

②. 好说歹说

- 首先,此项目的设计参考了很多网上资源,所以即便有任何的谬赞之处也不好居功
  尤其使用了好多自己中意的图片
  比如 —— 吾皇巴扎黑,阿里巴巴矢量图标库

- 其次,自己主要是为了方便使用
  下载使用的朋友,后期可根据自己的需求进行功能扩展

- 最后的最后,在接下来的时间里,我还会根据自己的经验进行项目优化
  在此开放提供源码也希望能得到有兴趣的伙伴给与中肯的意见
  欢迎指摘,谢谢...

相关文章

网友评论

    本文标题:moTzxx-CMS —— [一个基于PHP代码的后台管理系统(

    本文链接:https://www.haomeiwen.com/subject/ihudqqtx.html