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

article/2025/10/23 4:11:11

☁ 前言

  • 【重要】

如果你先前已经下载了源码,后期发现存在些许问题时
请及时反馈给我,以便及时更新;
或者回来参考我更新的内容,尤其是 “使用指导” 部分,或许这时我已经自测并做了补充信息哦.

框架版本: ThinkPHP5.1.40
后台入口: xxxxx.com/cmsx;
  • 最新更新
2022-07-29> 服务器日志查看
2020-12-02> 设计 “开发日志表”,并读取日志信息> 商品添加、修改页,使用钩子(函数实现)优化 SKU 操作> 角色列表 ,React (类实现)替换> React-hooks 引入优化

【推荐】一款正在优化中CMS管理系统 —— Lin-CMS

①. 闲话闲说

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

②. 提示信息

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

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

☁ 一 主要功能

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

①. 菜单管理

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

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

  • 说明信息

> 主要注意的是其中的 "action"  的填写,可以参考已有的数据,这是对应于路由文件中的写法

②. 管理员列表

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

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

③. 角色管理

此功能主要是为了给管理员分配不同的权限

  • 即打开的导航菜单更有不同,以避免权力的滥用,这部分的 js 代码写的最耗费时间

④. 权限配置

此处,最近参考 ThinkPHP 之前框架对权限的设计,进行了补充优化

  • 说明信息
> 1.对于权限控制功能,隐藏的比较深; 要求只对二级菜单后 做权限控制,以区分不同角色的分级管理
> 2.跟菜单的添加操作一样,填错了直接后面删除即可,感觉这样更少了麻烦
> 3.注意,新补充的方法链接如果不做权限的添加,那很可能无法访问哦!

⑤. 文章管理

这是常规的后台信息管理功能,其次还有个“今日赠言”,也是大同小异

  • 此处较为亮点的功能即为 layer文件上传TinyMCE 富文本编辑器 的使用

Laravel+Layer 图片上传功能整理

☄ 二 使用指导

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

  • 第一步. 执行下面的命令,加载 ThinkPHP 框架核心代码

composer install


【补充—— 2020-12-11】:

最近发现,使用 composer2.0 会造成很多已安装拓展包的冲突,这里建议不要升级 composer !

  • 此时,请确认一下文件 \vendor\topthink\think-captcha\src\helper.php 中的 captcha_img() 方法,并进行覆写如下:
function captcha_img($id = '')
{$js_src = "this.src='".captcha_src()."'";return '<img src="' . captcha_src($id) . '" title="点击更新验证码" alt="点击更新验证码" οnclick="'.$js_src.'" />';//return '<img src="' . captcha_src($id) . '" alt="captcha" />';
}

【注】:

  • 上面的源码中,注意 “οnclick” 一词,需要手动输入以防止输入法影响 (已经跟CSDN 提了建议,明明依然存在问题,非说已经改好了!也是无语了!!!

此处操作,保证登录验证码的正常使用,可参看文章 :【 ThinkPHP5.0+ 验证码功能实现

  • 第二步. 获取数据库数据

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

  • 说明信息
> 其次就是到 config/database.php 文件中,配置正确的数据库连接信息这是鄙人的默认数据,后期可自行修改优化.
> 注意前面的 运行 composer 命令;强烈建议学习新版本的框架,要学会使用composer哦

无聊的话,也可以试看一下之前写的一篇 Composer 简单使用 —— Composer de涉水初探

Ⅲ. 浏览器访问

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

  • 以我的操作为例,在自己的集成环境 PhpStudy 服务中:
> 配置的虚拟域名为 tp51Pro.com ;
> 选用的服务器为 apache ;
> PHP版本:5.6+ (请选择高版本,以避免不支持的情况)

如果使用的是 Nginx 做服务器,需要进行 URL 重写 的设置,可参考文章 :【ThinkPHP5.1 配置Nginx/Apache下的 URL重写】

  • 则入口网址为:
> 前台 : tp51pro.com/
> 后台 :tp51pro.com/cmsx (推荐)tp51pro.com/cms/login/index.html登录数据  ——  [用户名]:moTzxx@admin  [密码]:admin 
  • 前台登录效果,仅为参考,毕竟主要的任务时进行后台管理的实现嘛
  • 后台首页进入效果:

➹ 三 行为比较

其实,对应的 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-ThinkPHP5.1.40

②. 好说歹说

- 首先,此项目的设计参考了很多网上资源,所以即便有任何的谬赞之处也不好居功尤其使用了好多自己中意的图片比如 —— 吾皇巴扎黑,阿里巴巴矢量图标库- 其次,自己主要是为了方便使用下载使用的朋友,后期可根据自己的需求进行功能扩展- 最后的最后,在接下来的时间里,我还会根据自己的经验进行项目优化在此开放提供源码也希望能得到有兴趣的伙伴给与中肯的意见欢迎指摘,谢谢...

③. 功能扩展日志

  • 2018/12/03 补充添加了 登录验证码 的功能

方法请参考: ThinkPHP5 验证码功能实现, 请自行补充验证码点击刷新功能的代码!

④. FTP文件上传操作的扩展配置

  • 相信成型的网站基本都需要一个或几个图片资源服务器,这时,考虑使用的便是 FTP文件上传功能的扩展
- 本项目做了处理,如果道友已经创建好了FTP信息,可以打开文件 "/config/ftp.php"
- 对应填写 FTP 配置信息
- 设置 "FTP_USE" 参数为 true
- 并配置 "IMG_SERVER_PUBLIC" 参数为图片服务器地址

⑤. 优化登录信息加密保存 [2020-05-21]

  • 相对而言,后台项目的开发触及数据的操作,对于登录信息的保存要求自然严格一些;
    近期,优化设计了这一模块,可在后台进行配置

	> 其对应的配置文件为: "/config/sys_auth.php" ;> 注意截图中的提示信息,方便后期安全性的更新操作!

补充】:

  • 管理员的登录失效时间,请到 session.php 配置文件中进行修改哦

  • 推荐参考【 php如何openssl_encrypt加密解密

    文档 —— php openssl_encrypt

  • 过路大侠,若是欣赏可随意施舍 …


http://chatgpt.dhexx.cn/article/gRs30anD.shtml

相关文章

PHP通用后台管理系统

项目介绍 一款 PHP 语言基于 ThinkPhp6.x、Layui、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

php后台管理系统,插件化组件化,框架的使用,js插件选择,分享各种技术点和源代码,大家一起学习讨论共同进步。

技术介绍 1.thinkphp中间件的使用技巧&#xff0c;使用好处 2.thinkphp获取当前语言机制 3.thinkphp如何修改view视图位置 4.thinkphp重写url方法 5.think-swoole导致composer无法更新或安装应用问题 6.think-swoole如何保持websocket连接不中断 7.thinkphp 图片裁剪Arr…

php app后端,php开发app后台

php生成 JSON 数据 方法json_encode($value); 该函数只能接受utf-8编码的数据&#xff0c;如果传递其他格式的数据函数返回null<?php header("content_type:text/html;charsetutf8"); $arrarray( id>1, name>siangwa ); echo json_encode($arr); 2.封装一…

使用PHP实现WEB网站登陆后台编写

使用PHP实现WEB网站登陆后台编写 ####html页面&#xff0c;没加入CSS代码&#xff1a; <form action"login.php" method"post"><input type"text" placeholder"账号" name"id"/><input type"password&…

码云上最棒的PHP后台开发框架

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

用PHP写APP后台

写在前面的问题&#xff1a; 问&#xff1a;用哪种语言开发效率最高&#xff1f; 答&#xff1a;php&#xff0c;java&#xff0c;python开发效率对比 有时间的话都试试&#xff0c;只有自己才能真正说服自己 问&#xff1a;到底哪种语言最好呢&#xff1f; 大佬&#xff1…

微信小程序与后台PHP交互

在去年的时候&#xff0c;参加过学校的一个创业活动&#xff0c;在团队决定做一个关于图书的微信小程序以后&#xff0c;我负责做微信小程序的后台程序&#xff0c;因为初次接触&#xff0c;决定选用较为简单的PHP作为后台语言&#xff0c;实现了微信小程序的一些基本功能&…

最全的PHP后台管理系统源码

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

PHP+Mysql 实现后台管理

刚学了几天的PHP,然后刚好有个后台管理的项目要做&#xff0c;抱着学php的目的&#xff0c;便打算用php开始写。后台就是对几张表进行增删查改操作。 一开始先从简单的下手&#xff0c;有一张学生信息表&#xff0c;得到里面的各个信息&#xff0c;并显示在页面上。先写了一个…

用php做管理后台

最近因处理家庭之事,技术上没有提高,这段时间也陆续的恢复了正常的开发,由于要做一个管理后台,所以在选择语言和架构上搜了不少资料, php 和java 的选择上,后来选择用php作为管理后台开发的语言. 最开始选择了springboot 上 的一个开源代码.由于对springboot 开发不够熟悉,费心…

微信小程序php后台实现

微信的登陆流程 首先前端发送请求到服务器: wx.login({success: function (res) {var code res.code;//发送给服务器的codewx.getUserInfo({success: function (res) {var userNick res.userInfo.nickName;//用户昵称var avataUrl res.userInfo.avatarUrl;//用户头像地址v…

最棒的PHP后台管理系统

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

PHP后台开发框架

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

管理后台-后端-PHP篇

这里选用codeigniter做为web框架&#xff0c;因为它安装方便&#xff08;独立压缩包解压即可&#xff09;、自身集成了migration,query-builder&#xff08;对数据库的封装&#xff0c;不用关心数据库选型&#xff09;&#xff0c;虽然CI官方说明PHP版本只要求5.2&#xff0c;但…

PHP后台管理系统

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

企业级PHP后台开发框架

项目介绍 一款 PHP 语言基于 ThinkPhp6.x Layui MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架&#xff0c;可用于快速搭建前后端分离后台管理系统&#xff0c;本着简化开发、提升开发效率的初衷&#xff0c;框架自研了一套个性化的组件&am…

【web前端开发】后台PHP

文章目录 PHP基本知识PHP基本语法1.php变量、常量2.php打印输出3.php运算符 if、switch语句array数组数组声明数组键名定义的规则数组的赋值操作php常见数组的分类1.数值数组2.关联数组3.多维数组 循环结构与数组遍历数组遍历--forbreak && continueforeach语句1.遍历一…

PHP从前端到后台整站开发实战笔记-1

前言 从慕课网上搞了一套ThinkPHP整站开发从前端到后台的视频教程,好好系统的学习一下MVC模式下的正规开发流程,做一下学习过程中的开发笔记. 1.系统概述 这套教程视频中使用了ThinkPHP框架,但是有点老了,用的还是3.2.3版本的,不过思路很重要,等全做好了可以考虑再用最新的5…

PHP之后台开发需要做什么——即时通信IM

关于“即时通信IM”&#xff0c;腾讯云的官方文档&#xff0c;是这样介绍的&#xff1a;即时通信&#xff08;Instant Messaging&#xff0c;IM&#xff09;基于QQ 底层 IM 能力开发&#xff0c;仅需植入 SDK 即可轻松集成聊天、会话、群组、资料管理能力&#xff0c;帮助您实现…

通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库

作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料&#xff0c;微信搜索【程序员高手之路】&#xff0c;回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。 目录 前言 一、备份 step1&#xff1a;使用system登…