一个PHP程序员要掌握哪些知识?
本文不但可以作为一个PHP程序员的参考,其它语言的WEB开发者也可以借鉴
1.HTML,CSS,JAVASCRIPT是作为一个WEB开发者的基础知识。
HTML要学到什么程序呢?本人觉得至少要能与CSS配合完成手写代码排版,虽然现在的网页排版工具一大堆,但不可能100%完美,作为一个
专业人士,手写代码是必须的。
如何学习CSS?可能大部份人觉得能做得出漂亮精美的网页就自认为自己的CSS水来不错了,其实,CSS不单是一个定义网页的样式,它还是
一个行业的标准,在团队合作的环境里,符合标准就显得很重要了。想把自己的CSS水平达到高手级别,建议大家试下用DIV+CSS排版,会大大
增长自己的CSS水平。可参考一下 http://www.37dg.com/index.jsp
这个页面的源代码,中间那个表格也是用DIV+CSS拼出来的,不知为什么,作者没有把这个页面的CSS代码放在一个独立的文件,正好适合当初
者DIV+CSS排版学习。DIV+CSS必须符合标准,必须在FIREFOX和IE下调试过都正常才是正确的。
Javascript博大精深,不要小看它,以前有个老外用纯JS写了个《星际争霸》,很是惊人。
估计世界上也没几个人能把javascript学到“精通”这个程序。WEB开发者至少能用JS完成基本的验证,和一些版面控制,比如动态增减表
格的行,动态移动或改变某些控件的值等。
2. AJAX ---- 有经验的程序员都会知道,AJAX不算什么新技术,根本就是JAVASCRIPT+XMLHTTP。现在的人都学会了忽悠,炒炒冷饭也能成为一
种新菜式了。不过,我们不用关于这个概念问题,我们会用就行了。在做一些无刷新提交的时候,掌握AJAX是必要的。从底层的角度来看(注
意,是从传输的底层角度,我不想因此引起不必要争论),AJAX其实也是在不断的向服务器获取数据库最新信息,只不过是我们的浏览器没有
反映出刷新这个效果罢了。AJAXA最有用的地方就是用于表单验证,比如:要验证一个用户注册时输入的用户名是否被使用,以前是必须用户提
交后才能验证,用了AJAX就可以在用户输入完成后马上给出验证信息。
在程序员眼中看来就像JAVASCRIPT可以直接访问数据库一样。
3.XML----XML是比一个HTML更加严格的标准。理论上说XML迟早会代替HTML,但至少短期内无可能的。XML+样式也能做出和HTML同样复杂的页面
。但还没有什么支持XML排版的工具。所以就目前而言,XML最大的作用是作为一个数据库的表格来用。
比如说,我之前有个项目,是把购物网站定单信息传输给快递公司,但两间不同的公司用的是不同的数据库,无法直接导出导入数据。幸好有
了XML,我把所有的数据生成一个XML文件,传给对方后很方便就能导入XML文件。可见,一个行业的标准是多么的重要。XML就胜在可以适应不
同的数据库平台,不同的操作系统。
4. 数据库, 现在WEB流行的数据库就oracle,MS SQL server,MYSQL,ACCESS等。除了学会所有的SQL查询语句(包括多表联合查询),至少要
掌握存储过程,触发器,索引,视图等。
很多新手不注意使用索引,我试验过MYSQL,在一个十万条记录的表,(硬盘为FAT32)在有索引和没有索引的情况下,查询速度差了十几倍
。
另外,数据库的维护和安全很重要,要懂得如何监视数据库的异常,可以参考一下DBA的教程。
5。Linux ----现在大型一点的站点都用了linux作为服务器了,所以学习linux是必要的,linux的在网络方面的功能是远远胜于windows. (不
过如果只是当作一个普通PC使用,用linux会烦得你要抓狂). 不用学得很深入,基本的linux控制和配置命令就够用了。虽然有些版本的桌面
系统做得越来越强大,linux越来越像windows了,不过,如果你不掌握命令行操作,估计你找工作过不了面试的那一关
6。服务器,不管用IIS,APACHE,TOMCAT, 各种配置和设定也是必须的。
7。PHP------PHPer当然要会PHP了,不废话了,能用面对对象的方式写程序,能将经常要重用的东西写成类,你就合格了,。
8。模板引擎-------在今时今日,如何你还未用过MVC的方式写程序,你就OUT了。phplib,smarty是PHP界最有名的模板引擎。
个人推荐smarty,因为PHPlib有点老了,用起smarty的标识,好像觉得更合理。
9。ADODB---- 如果说一个项目本来是用SQL SERVER的,只需要改一下就能用到MYSQL数据库,是不是很不可思议,不错,ADODB就能完成此功能
。可能有人觉得完全没必要,项目做好不可能再更改数据库,那就因需使用吧。至少我个人很喜欢,PHP+MYQL的情况下,ADODB能完成“事务处理”的功能,以前的低版本MYSQL可做不到这点。
PHP+MYSQL的架构下,我用ADODB写数据库读写的类,版面就用smarty, ADODB+SMARTY简直就天下无敌。
评论 (0)