最近在招聘版逛的时候,很多人看到有些要求比较高的职位,就觉得那不是再找PHP的人了,似乎PHP的工作就是写PHP,顶多写点儿JS,CSS之类的,一涉及到Shell,Socket,多线程什么的好像就和PHP无关了。确实,PHP的培训顶多把LAMP交给你,其它没有讲到的看起来就像是分外的事了,但要做好LAMP架构下的系统,要懂得东西太多了。
首先是Linux,最基本的要求是熟悉各种命令,了解AMP的配置;再多一点,就需要知道Linux系统的配置,会写点儿Shell脚本,crontab,会用用Perl,Python之类的脚本语言;再高一层就需要知道Linux的进程和线程的模型,内存管理,进程间通信,文件管理,了解并发相关的问题。这些东西看起来和PHP没有任何关系,但懂得这些东西对于思考解决问题都有着很大的帮助,懂得这些底层的东西,遇到问题才能知其然并能知其所以然,知道那种东西适合哪种环境,出了问题可能会在那一层,才能解决别人解决不了的问题。
Apache和PHP的配置方面也是做PHP必须了解的,这方面我觉得就需要英语的能力了,现在网上技术方面的中文资源的质量很有问题,很多细节问题还是需要从官方的文档里找,这方面就需要慢慢积累,叫招拆招了,没什么多说的。
PHP语言方面,确实很难找到比PHP更容易入门的语言了,但要把PHP用好,功夫就不再语言上了。这方面我觉得学学Java会对PHP的应用有很大的帮助,在Java里被约束管了的程序员,到了PHP肯定会自由的难受的,整个流程中什么东西都要自己定,这样就逼你利用自己的设计思想来组织一套开发的模式。终归这是个编程设计思想的问题,所以设计模式也是一个必修课,现在PHP5里有了完善的OO的支持,Java的不少思想都可以搬到PHP里来了。
MySQL是个比较简单的数据库,但要用好它还是需要不少的数据库功底的。首先数据库的设计是和DBMS关系不大的,通过二维表来表达各种各样的数据关系,也是个比较复杂的事。好的数据库设计是性能优化的基础,在设计中结构的设计,索引的规划,必要的数据冗余,是对性能影响最大的部分。查询的优化需要对关系模型有清晰的理解。MySQL5里添加了不少的新特性,5.1又加了不少东西,像表分区,视图,存储过程,都是应用中很有用的东西,不知道可不行的。另外,各种字段类型,各种表类型的优劣,约束都是要熟悉的。
另外,PHP在应用中,很多东西还是需要别的语言来提供必要的补充的,像一些计算速度要求高的工作,或者需要多线程的工作,就需要C,Java等语言的补充了,所以多会几个语言肯定有好处,每个语言有自己的思维方式,结构化,面向对象,函数式的编程风格差异是很大的,对这些都有点了解的话对开阔思路也是很有帮助的。
最后推荐一个网站:http://highscalability.com/


最新回复
php就是这样,高不成低不就,asp(非.net)以外就属Php简易了
在其合理的应用范围内,php有着还不错的表现,超出了范围,还是用别的吧~
语言特性导致的,没辙啊
QUOTE:
那您可以分享一下php的内涵么?而应用和语言又是两码事,在应用中,PHP需要依赖很多东西来达到目的,需要设计模式的思想来组织系统的架构,描述需要实现的业务,需要数据库技术来管理持久数据,还很可能需要其他语言的配合实现运算密集型的工作和异步的操作。
相比.NET和Java,PHP的开发太过自由。用Java,Struts会告诉你一堆规则需要遵守,而在PHP里,你需要自己来建立这些规则。我觉得这是用好PHP最大的难点了,现在逐渐发展起来的各种框架应该会慢慢改变这个状况吧。
三楼的该长长见识了,英语还行的话到我推荐的那个网站去看看吧。
lamp,我自己的站从数百ip发展到数万ip时,网站的程序,数据库等等部署,全部发生了变化,期间遇到了不少的困难。
令人可喜的是,至今遇到的问题中,lamp它总是有办法回应各种问题和困难。
对于php的信心来自另一个朋友的站,日ip 25万,曾经和他交流过一点点技术方面的内容,越觉得自己现在的应用是多么肤浅。
开始阶段认为php=asp,只是语法不同,都是做动态网页。
后来发现php比asp先进一点点,接口多一点,平台支持多一点,于是认为php >= asp。
现在不明白php到底和asp该如何比较。
php在不同的阶段,总给呈现出它不同的内容,它让我觉得我对php越来越无知。
[ 本帖最后由 laruence 于 2008-8-19 10:01 编辑 ]
QUOTE:
我不是这个意思,我是比较讨厌那种,动不动就说PHP没前途的人,也不想想自己做的够不够多,够不够努力。;),大家必要太介意
确实 PHP感觉给我无限动力,但我更相信PHP能带给我们激情,这些激情是要和别的工具碰撞产生的,shell,socket,linux,python等等~
期待PHP更强大
至少我知道:Shell,Socket有关吧
怎么说呢,老感觉这些争吵很是无聊
一个系统(WEB系统),不可能单由一种语言完成
你说要PHP去做如桌面软件等东西的确吃力不讨好
但在WEB方面的开发(不单单指简单小站开发),PHP绝对是可选择之一。
其实做个大型WEB系统开发的人应该清楚,语言只是整个系统架构一部分,影响整个系统的往往不是语言的效率,如果真是语言效率,证明只是写的程序有问题,并非语言本身问题。
WEB,并非单单是语言本身吧
QUOTE:
恩,很客观,我赞同。