这个项目是大学里做的最后一个关于PHP的项目了,现在除了偶尔维护下在公司开发的PHP网站,基本上都不使用PHP了。最近清理电脑空间,又挖出了这个项目。为了表示我做过,现在又拿出了整理一下,总结一下把。

技术框架

整个网站采用了thinkphp5框架,Vue的前端框架element-u,mongo以及PHP的excel包phpexcle做出来,功能很少,耗的时间也不多。细说的话就是基于Vue全家桶(vue-router,vue-resource,vuex)等开发的SPA应用。我也是跟上了前端发展趋势的,对Vue的使用还是很熟悉,毕竟之前一直在使用Vue模仿股票软件做K线图。

之前一直做PHP开发,做web开发,自2017年来转入到Python开发,做数据处理后,基本上没有用过PHP了,这个项目采用的技术相当于对之前自己的技术栈做一个总结。

功能概览

该系统主要是用来管理项目的,可以创建,编辑,修改、导入项目的很多属性,提供前端的表格展示,并且存入到数据库中,提供项目的模糊查询功能。有点类似将部分excle的功能搬到了Web界面中。

左侧的菜单栏列出了主要功能:
1、项目管理:项目新建、excle导入项目文件、所有项目
2、标签管理:编辑标签
3、成员管理:添加成员、所有成员

下面介绍每个功能

标签管理

可以对标签进行编辑、增加和删除。

编辑标签可以标记标签分类,标签名称、标签说明以及选择标签的类型,并可以自定义单选和多项的项

项目管理

编辑好的标签可作为创建项目的模板

1、创建项目

使用模板自动生成了表单,可以自定义表单的类型

excle导入

可以从格式固定的excle中解析数据导入web端的表格中

更加表格的表头,后台采用了PHPEXCEL自动解析表格数据,并使用Element-ui的表格组件将数据展现在web端。可以根据分类信息,各个数据项进行查询。

可以对每项数据进行编辑修改,删除。

最后可以将修改好的数据全部导入到后台的mongo数据库中

所有项目

当然也可以采取分页的形式从数据库中获取所有的数据并展示,同样支持编辑,删除,

自定义模糊查询

成员管理

管理员可以添加,查看成员,并赋予一些权限(未完善)

总结

得益于Vue的前端框架Element-UI,我才能在不编写一行css的情况下,做出这么好看的界面
本项目中最难的部分就是excle数据的解析,数据的保存和数据的前端展示。通过深入的研究Element-UI的Table的表格展示才完成了好看的表格,并进行了表格优化,才能是在浏览器中展示类型excle的表格。
期间对PHP读取excle的代码进行了很多的优化,自动的解析表格的头部字段,主体数据等.

这是thinkphp5出来之后,我首次尝试使用thinkphp5作为后端代码。thinkphp5相对于thinkphp3改动的太多,基本上全部推翻重构,官方的口号是更适合于api的快速开发。可喜的是thinkphp5不断吸收先进的开发思想并加入了composer包管理,可以说是终于进步了。但是thinkphp还是不能媲美lavaral框架,落后实在太多了。如果不是为了快速的开发,我就会选择Lavaral框架了吧。