大刘信息

php项目开发

作者:dave 日期:2018-06-18 18:01:41

在以前我几乎完全不会PHP,忽然间接手了一个手机网游门户的开发,退缩是没有用的,IT技术作为现今工业社会里更新换代最快的一个行业,任凭谁也不可能全部掌握所有的技术,但是作为一个优秀的开发人员,随时学习新技术并且尽可能的最快掌握应用到项目中,便是必需具备的基本素质。技术总是有些相通性和继承性。各种乐器之间的音律是相通的。从钢琴到小提琴的距离有点大,但音乐知识是一样的。快速学习需要坚实的基础、准确的常识、举一反三的能力和坚持不懈的寻求答案。PHP是一只两栖动物,自5.0之后开始支持面向对象,但是同时兼容面向过程的编写。这种特性使PHP易于使用,但很难掌握。两个月里摸着石头过河,边学边做到最后项目完成,不敢以高手自居,多少掌握了一些PHP学习和编程的小窍门,为了避免如我一样的初学者或项目需求者多走弯路,特地整理一下心得与同行分享。

 

与国外和香港台湾地区相比,国内的PHP程序员相对较少,精通的更是为数不多。一个很大的原因是中国大陆是盗版大国,大伙都爱用Windows系统,用.Net写程序,用Sqlserver存储数据,反正微软不会上门开罚单。两个月的项目开发周期过去了一个月,后台系统我都几乎写完了还没有招到我满意的PHP程序员。有两个合符标准的,一个因为个性有点特立独行,另外一个要价7K超出公司预算被我Pass掉,导致最后我招了一个编程基础比较好的小伙子进来自己带。当我还在上一家公司做.Net项目时,有个同事曾经对我说他羡慕PHP程序员的薪资高,我当时不以为然,那种程序写得好薪资不高?现在倒有了更深的认识,PHP程序员薪资高,不是因为PHP程序写得好,一般而言相关的技能也得有相当的程度。随便在网上找一份PHP程序员的招聘一起看看。

1. 两年以上PHP开发经验,熟悉smarty模板,熟悉Linux+Apache+Mysql+PHP架构,熟悉Zend架构者尤好;

2. 具有MySQL索引优化、查询优化和存储优化经验、PHP缓存技术、静态化设计方面的经验;

3.熟悉Discuz!,UCHome产品,能做二次开发;

这也是我招人时所要求的。一般而言,PHP的项目不会用微软的windows平台和sqlserver数据库,除非公司足够大,不然linux服务器的管理便是由PHP程序员兼顾。Mysql数据库可不像微软的Sqlserver那么傻瓜化,配置与调优是一门大学问。稍为正式一点的门户都会搭配着上Discuz论坛或者UCHome,整合与二次开发便是无可避免的事情。当一个PHP程序员具备这些技能时,薪资高些也在情理之中。各位学PHP的朋友们,看到这里应该对自己的学习计划有比较清楚的认知了吧。

作为开源世界的前锋,PHP有很多优秀的架构,如Zend, CakePhp, Symfony等等。其实一直到项目开发完毕我才开始接触Zend,一个成熟的架构的确能减轻不少工作量,但是如果在项目启动时就贸然上这么大的框架,而本身对PHP技术没有很深了解的情况下是很难驾驭的了的,势必引发出各种各样棘手的问题。正是考虑到了这一点,所以我步步为营的往前走。先是采用最原始的方式,将PHP与HTML代码混合着编码,做完两个模块后对PHP语法和她的一些特性、怪癖有了清楚的了解后开始加入Smarty模板,将业务逻辑与用户界面进行分离。再做几个模块,搞清楚了Smarty的那套语法、标签和组件后再把数据处理剥离出来形成了MVC架构,一点一点的完善,既保证了开发的进度,也使得系统越来越合理,一直到最后稳当的完成了整个项目,没出大乱子。到了最后再回头来看Zend,CakePhp这些觉得也没什么神秘。

因为开源,所以PHP是个没爹没娘的孩子,不像微软,无论是平台、语言、数据库、IDE全都打上Microsoft Family的烙印,大多数东西微软都封装好了,你不知道为什么,也不需要知道为什么,使用就是了。初用PHP难免会遇到一些奇奇怪怪的问题,例如相对路径与绝对路径、数据库乱码、header跳转报错、session也报错等等。也正是因为开源,所以网络上几乎都有相应的解决方案,只要你真正了解问题的根源,自然能搜索得到相对应的答案。

WEB开发很大的比重是在于数据库的操纵,SQL便是程序员必需精通的一门技能。相信有不少PHP程序员如我一样,是从微软开发平台转行过来的。用习惯了Sqlserver,改用Mysql时也会遇到一些小挫折,毕竟是两家公司不一样的产品。最明显的就是指定行数的关键字top变成了limit,连接符+在mysql中变成了concat等。这些倒都是小事情,记得就是了。有一种SQL却让我有点不爽。如:select * from table1 where userid in (select top 10 id from table2 order by createdate desc),在mysql里因为不支持而改成了select * from table1 where userid in (select id from (select id from table2 order by createDate desc limit 10) as t ) order by createDate desc。这样累赘的语义很让我烦恼总记不住,最后准备了一本mysql cookbook。

PHP是一门优秀的开发语言,以后将会继续大放异彩,特别是在facebook推出hithopPHP之后。真要说到项目开发,那是一本书的篇幅也讲不完的事情。以上只是总结我在开发过程中的感受和经验,真正的应用还得在项目实战中自由发挥。一千个人眼里有一千个哈姆雷特,一千个人就有一千种解决问题的办法,但终究只有一种方法是最有效直接的,编程、就是不停的寻找那种方法。

PHP书籍推荐:

书店里PHP开发的书籍非常多,但真正优秀的却很少。下面推举几本我看过、用过、感觉不错的书供学习参考。

《大道PHP-LAMP+Zend+开源框架整合》 电子工业出版社

这本书是我接手PHP项目后买的第一本PHP书籍,99块人民币,846页的篇幅,一直到项目完成我都没完整看完,只是把它当工具书查阅使用。这本书不太适合初学者,里面有不少案例是错误的,必需修改后才能运行。Zend框架也介绍得太过简单。

《PHP Web2.0开发实战》 人民邮电出版社

老外写的一本书,技术含量比较高,详细介绍Zend架构与Smarty配合使用,所用的案例也是循序渐进步步深入。适合有基础的PHP程序员阅读。

想学好一门编程语言还是得多实践,把基础掌握扎实,牢固。学习php作项目也是一个道理。



本文链接:https://www.whdlxx.cn/news/xingyedongtai/ruanjiankaifa/109.html,由武汉市大刘信息技术有限公司原创,转载请注明出处。

上一篇:没有了!

下一篇:软件项目开发计划书范例

My title page contents