呼叫宏哥以及各PHPER,小弟请教。

大东哥 发布于 2011/09/29 14:51
阅读 1K+
收藏 3
PHP

最近接到几个小网站,想试试PHP。在这里有些疑问,主要来自于网上的,想请教各位。

PHP语法很恶心?

PHP不适合做大网站?

PHP的性能有问题?

PHP不适合团队开发?

全是网上查的,也不知道是真是假,所以有此提问贴。

我本身没有PHP的经验,也是刚看了一下语法,还没看面象对象部分。

了解一门语言的优点重要,了解缺点,和不合适做什么更重要。

各位说说PHP的缺点,越多越好。

想请各位PHPER说说缺点,主要是因为,能说出一门技术的缺点以及不适合做什么,比能说出这门技术一百个优点需要的功力高几个档次。

不想引发语言之争,所以,这里请不要讨论java,ruby,python什么的优点。只针对php。


以下是问题补充:

@大东哥:并非想借这贴来打击PHP,抬高其他语法。真的很重要,也是高手跟新手,菜鸟的区别,我认为。 (2011/09/29 15:10)
@大东哥:非常感谢各位热心的回复,在决定是否深入学习一门技术的时候,了解这些很重要。 (2011/09/30 02:07)
加载中
3
宏哥
宏哥

面向对象的确只是 编程的一种形式和方法,对名字管理稍微方便一点,有或者无,的确差距并不是很大。对于PHP,增加很多面向对象的东西,意义的确不大。它的改进还是来自于内存分配等。

PHP没有什么性能问题,性能问题主要来自后端数据库或者磁盘。

如果把PHP和mysql放在一起,它的确不适合复杂数据处理。PHP是一个胶水语言,背后是C.它本身其实主要的工作是进行数据类型转换,把各种C的库,“粘”在一起。PHP“粘”的东西,集中在字符处理,数据库访问等,所以适合web开发,并且有完整的unix系统接口,所以做后台job也没有问题。不适合win开发,它缺乏win32api的接口。用它做什么,取决于你把php和啥粘住一起。

至于团队开发,和语言完全没有关系,是人的管理上的问题。

网络上的东西,大多都是小毛毛大放厥词,自己需要有判断能力。

计算机语言大体分两种,一种是c/c++/delphi/vb等,称作unmanaged code,这些语言可以对内存进行直接操作,可以和系统更紧密集成,但是调试难度高。

另外一种就是perl/python/java/php,叫做managed code. 编程更为简单,但是当他们需要直接操作内存,设备的时候,需要通过C这个桥梁。大体上,php/perl/python非常近似,只是形式上有些区别。

java还有另外一个特点,就是,java是没有destruct,这是优点,也是缺点。这个特点使得java程序编写特别简单。缺点是,它和c的集成更加困难。也造成java缺乏很多和系统集成的能力。

mark35
mark35
@大东哥 : CI不错的框架
大东哥
大东哥
codeigniter你有在用吗?看介绍,不需要另外学一套模版,只需要沿用旧的PHP和html,这一点,就很吸引我啊。
大东哥
大东哥
@宏哥-Bridge : 了解了。
宏哥
宏哥
@大东哥 : 它提供了sphinx,monosearch的接口。lucence这种东西,我还是不建议你研究。听宏哥的,没错的。
大东哥
大东哥
@宏哥-Bridge : OK,基本了解了,就是说没有类似lucene的方案,心里有数了。
下一页
2
北里闻箫
北里闻箫

php最大的缺点是一次性执行。不能驻留内存。(勉强也算是优点吧,也就是释放内存快。)
因为这个问题,所以php的面向对象显得鸡肋了。不过从代码规范和代码重用上来说,还是蛮方便的。
php可以很高负载,但是php本身处理不了高负载。
(高负载是通过对数据或数据库的缓存来实现。必要的时候,需要C/C++或者java来帮忙)
php的测试,可以定义一个全局变量,代码里加入判断,来处理调试模式和正常模式。
php也有try{}catch{}的语法。中小项目,写-刷足够了。(一般都是简单的语法问题,很少出现逻辑问题)
大型项目,一样需要测试类的。(主要就是测逻辑问题了。)

php的语法,跟C/C++几乎一样。只是写法不同,还自带一些特性。
比如$$ 用变量当变量名字。其他语言里没有。
同时,因为弱类型,代码可以写得很不规范。
同时,因为可以跟html跟js的代码夹杂着写。
所以才造成说语法恶心。

php在win下测试,不对大小写敏感。
这是个很大的问题。比如linux下的话,就对大小写敏感。

php不太适合做socket的服务端。虽然它支持。

php比较适合做网站或者类似网站的b/s应用。

0
Vian
Vian

1. 恶心的是一些只会复制粘贴的程序员吧

2. facebook是用php写的

3. 流量上升到facebook这种程度了确实有性能瓶颈,但是其他比如sina和qq还是没听说过有什么性能问题

4. 适合

缺点:(一时懵住了,想了半天

0
MPRO
MPRO

sina微博 用php做,高并发,你能说php不好吗?

php技术上确实有缺陷,但既然选择这条路,要走下去啊。

大东哥
大东哥
我非常想知道有什么缺陷,因为不想一头扎进去。
0
大东哥
大东哥
我看了PHP的基本语法部分,感觉就靠这些基本的东西就够了,为何还要搞一面向对象特性出来?
0
richcem404
richcem404

PHP语法很恶心? -- 还好

PHP不适合做大网站? -- 多大? fackbook够不够?

PHP的性能有问题? -- 谁说的

PHP不适合团队开发? -- 主要是团队规范

个人觉得php首先要选好框架

0
大东哥
大东哥

引用来自“οΟミ╰水ゝ”的答案

PHP语法很恶心? -- 还好

PHP不适合做大网站? -- 多大? fackbook够不够?

PHP的性能有问题? -- 谁说的

PHP不适合团队开发? -- 主要是团队规范

个人觉得php首先要选好框架

facebook是一开始用PHP吧,现在还在用?

PHP框架有什么好处呢?PHP内置的函数啊什么的,不是都够用了吗?

我甚至觉得PHP的面向对象特性又有什么好处啊,这么搞起来,不是跟JAVA一样走向复杂了?

雁南飞飞
雁南飞飞
现在还是 php lamp架构的
0
sniperBlank
sniperBlank
框架就是地基,别人给你打好地基了。你在上面添砖加瓦就是了。
0
sniperBlank
sniperBlank

引用来自“大东哥”的答案

引用来自“οΟミ╰水ゝ”的答案

PHP语法很恶心? -- 还好

PHP不适合做大网站? -- 多大? fackbook够不够?

PHP的性能有问题? -- 谁说的

PHP不适合团队开发? -- 主要是团队规范

个人觉得php首先要选好框架

facebook是一开始用PHP吧,现在还在用?

PHP框架有什么好处呢?PHP内置的函数啊什么的,不是都够用了吗?

我甚至觉得PHP的面向对象特性又有什么好处啊,这么搞起来,不是跟JAVA一样走向复杂了?

facebook前端确实是PHP。后端不清楚,我估计应该是有很多种语言吧,比如C处理一些性能问题。
雁南飞飞
雁南飞飞
后端也是。还用了一些其他的。FB还用一个是将php转化为C++的 东西 忘记叫什么了
0
大东哥
大东哥

引用来自“memeyang”的答案

框架就是地基,别人给你打好地基了。你在上面添砖加瓦就是了。
那这会不会导致像java一样框架满天飞的混乱??
返回顶部
顶部