软件开发PHP毕业实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP开发工程师实习报告
系: 信息技术系专业: 软件技术专业姓名: XX 实习单位:XX科技有限公司
实习时间:2016.12-2017.2
2016.12月到2017年2月,我有幸在XX有限公司实习。这是我第一次正式与社会接触踏上工作岗位,开始与以往学生时代不一样的体验。
一,实习单位介绍
公司信息:民营公司 / 50-99人
公司行业:IT 新能源
XX有限公司成立于2010年,专注于企业信息化建设,是一家集软件定向研发、咨询、维护,信息系统集成、运维,信息通讯网络建设、运维及咨询等业务于一体的新型IT企业。
公司拥有一支高素质、高效率的服务团队,其中既有长年从事本行业具有丰富经验的高端人才,又有敢于创新,勇于开拓的年轻一代。二者的融洽结合,使公司在为客户提供坚强的技术保障之余不断创新,拓宽了公司服务范围,提升了公司服务质量,促进了公司服务理念向更高、更快、更新的快速转变,在广大客户企业中拥有良好的口碑并留下了深刻的印象。
二,实习岗位简介
岗位名称:PHP开发工程师。
主要工作:在公司我的主要工作是用PHP语言,参与一个信息管理系统的开发,编写后台服务程序,为写前端页面提供接口支持和服务。
三,实习内容和过程
原本以为公司开发都会配置好固定的开发环境,结果入职第一天要求自己搭建自己自己喜欢和熟悉的开发环境就好。
我搭建的开发环境是WAMP,即Windows,Apache,MySQL,PHP环境,开发工具是Sublime text3和Navicat for MySQL。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python 的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,
多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、
Linux、Mac OS X等操作系统。
Navicat for MySQL是一套专为MySQL设计的强大数据库管理及开发工具。它可以用于任何3.21或以上的MySQL数据库服务器,并支持大部份MySQL最新版本的功能,包括触发器、存储过程、函数、事件、检索、权限管理等等。
开始正式工作,首先实现登录和修改密码两个功能,因为该项目是电力局内部使用,账号都有内部工号分配,所以没有注册功能。前端是同事用 WPF 做的一个界面,如下图所示:
图一
接收前端传递过来的数据进行操作,进行数据处理,验证修改,和防SQL
注入。考虑到数据传输的安全性问题,采用了DES加密方式对数据进行加密传输。部分加密,解密代码如下所示。
图二
部分加密解密封装方法:
图三
实现了登录和修改密码功能,接下来实现查询功能,如下图所示:
图四
用户选择任一类型,将自动返回这一类型所有数据,输入为空时,将默认返回所有数据。(应客户要求显示。因为是客户内部使用,一类型设备数量基本固定不会太多,所以不会对数据库操作造成数据库太大负担,)输入这一类型任一字段属性,将返回包含这一属性的所有数据,。这里我采用了对字段模糊查询对
数据库进行操作。部分代码如下图所示,先进行了对传入值类型的判断,再对这一类型数据进行操作。
图五
图六
在sql语句中使用了CONCAT()函数对字段进行连接操作,既实现了简单的多字段模查询。
实现了登录和查询功能接下来就是实现对数据的修改和删除功能了.这都是些对数据基本的操作,在学校在老师的带领做过很多类似的练习操作,所以做起来已经很得心应手了.只是在实际开发中更多的考虑安全性和效率性问题。前端操作界面如下图所示:
图七
图八
实现完以上功能,此次项目我所负责的功能模板就已经完成了,在此其中学习到了很多新知识,同时遇到了一些问题,下面来总结总结这次项目开发的心历。
一、关于注释
开发的时候被一再强调注释的重要性。并且就连注释的格式都规范的死死的。这就是团队开发。每一个文件都必须有文件注释,每一个函数都必须有功能注释以及参数注释,甚至就连每一个变量都必须有注释,必须清清楚楚标明用途,哪怕它的标识符很清楚表示它只是个password。
如今的开发语言都有其相应的自动生成API帮助文档的小软件,每一个软件都规定了注释的规范,以方便生成帮助文档,好在这些文档规范大致相同。刚开始很惊讶,因为注释的内容居然能占一半,甚至更多,这在以前都未曾遇到。二、如何解决问题
项目刚开始开发就遇到一个问题,就是我不会用DES加密,因为之前都没接触过这个。当时觉得估计自己解决不了这个问题,向项目主管反应了这个问题。事实证明了我的想法很愚蠢,主管让我自己上网找找方法,看看说明。找了之后才发现问题没有想象的那么难,网上有很多封装好的方法而且还有详细的注释说明,直接使用就可以了。在这次遇到问经历中让我学会了,要多交流,多学习
同时也养成了逛CSDN等技术论坛的习惯。
让我认识到,公司招人来是解决问题的,工作就要尽责!有需求就必须满足!即便满足不了也得尽全力去做。最重要的是:事情都是人做的,别人能做,自己为什么不能,即便不能自创,抄也可以抄来”。
三、实习心得:
1.关于公司的开发环境和代码规范
公司的环境和规范,都是长期以来根据实践经验慢慢总结出来的,很适合当前规模项目的开发,因此必须及时熟悉。这就如生产力和生产关系之间的联系,毫无疑问当前的生产关系是适应生产力的。
规范包括代码规范和架构规范,它制定了数据处理流程的规范,以及考虑因素。然而不同的项目对应不同的需求,应当考虑的因素也是不同的。比如一个普通公司的内网只允许内部员工访,这样的话对安全系数的要求就不高,但大流量大负载的状况就得多加考虑!换过来如果是一个机关部门的网站,显然不会有大流量大负载的情况出现,因此在这上面便可以少考虑,而安全系数就是不得不考虑的致命因素!
2.关于理论和实践
最开始的数据库问题让我明白了书上的理论在面对实现中的硬伤时表现得是那么苍白,那更多的只是理论上的完美,而实际工作中是不存在完美的!
后来的代码实现工作让我认识到,即便是理论上掌握了,实践的话却不一定成功。且不说无数次调试后才能保证语句的正确,单单是逻辑错误出现的频率就几乎让人崩溃。原本在脑海中那么清晰地思路,到实现的时候才发现居然有那么多问题没想到!
公司实习这段时间我清楚了什么叫:纸上得来终觉浅,绝知此事要躬行!
3.注释——责任心的体现
在公司开发,最开始被迫写N多注释,到后期整合项目的时候才发现多亏有这些注释。它们使得我们可以很方便地回想起自己当时的想法,更使得我们可以毫无障碍地读懂别人的代码,以后即便是换了一批人员进行二次开发或者维护都会很方便。
注释,既是对自己作品的信心,也是对自己作品的负责!