php项目开发经验-2个月学习php经历

转载 2016年05月31日 20:16:57
两个月前我几乎完全不会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项目的“苦逼”经历与思考

PHP项目的“苦逼”经历与思考        PHP零基础,但由于项目人手不够的原因,被安排到一个用户“定制”项目。该项目是用PHP生成的统计数据报表。而用户又有新的3个需求,需要在已有的代码基础上完...

php实用经验总结

1.简要介绍Http协议 2.对B+树数据结构的理解 3

php商城项目总结

/**  燕十八 公益PHP培训  课堂地址:YY频道88354001  学习社区:www.zixue.it  **/ 通过三个月多月跟着十八哥做商城项目,受益匪浅,以前自己根本没有项目...
  • cg9112
  • cg9112
  • 2012年12月31日 10:58
  • 1968

软件开发人员的简历项目经验怎么写?

许多学习软件开发的学员不知道如何在个人简历中如何填写“项目经验”或“项目描述”,最近接触的一些学习Java的学生在简历中,往往项目经验及描述都只能寥寥几笔完事,这样的简历肯定是不吸引招聘企业HR的。 ...

PHP项目设计基本步骤

PHP项目设计基本步骤 一.项目题目     基于php和mysql数据库设计一个在线测试系统,实现功能如下:     (1)学生可在线进行测试答题,并上传答案到数据库中;     (2)老师可在线进...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

PHP详细学习计划

PHP详细学习计划 第一阶段:(PHP+MySQL核心编程) PHP基本语法加强: Apache--directory配置段 一个IP和多个域名绑定的两种方...
  • mepsoft
  • mepsoft
  • 2015年09月16日 16:56
  • 1233

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php项目开发经验-2个月学习php经历
举报原因:
原因补充:

(最多只允许输入30个字)