1. 聚能聊>
  2. 话题详情

听说PHP是世界上最好的语言...你们怎么看

PHP作为一种通用开源语言,因其语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,被广泛应用于Web开发领域。

PHP__meitu_1

bold PHP 独特的语法,可以比CGI或者Perl更快速地执行动态网页;用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快······优点不胜枚举。

有人说,PHP有两个凡是和三个代表:

·凡是喷PHP的语言,都是没人用的语言.
·凡是用PHP的开发者,都是最务实的开发者.
·PHP代表着最先进的生产力,
·PHP代表着最先进的文化,
·PHP代表着最广大开发者的根本利益。

也有人说,PHP是世界上最好的语言,

那么使用各种语言猿们,你们怎么看??

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    虾米VIP月卡 x 4

  • 奖品二

    定制笔记本 x 2

  • 奖品三

    珍藏版棒球帽 x 1

347个回答

10

初码 复制链接去分享

简单喷一下
1、编译后静态执行是逻辑、效率、稳定等软件工程基本素养的客观要求,即使Javascript这样流行的脚本语言,也涌现出TypeScript这样的升级,甚至WebAssembly这样的替代;
2、语言的动态特性和动态执行有天壤之别,切不可将强语言对弱语言的特性模仿误以为是弱语言的优越性体现;
3、这个话题仅存在于业余编程爱好者、非计算机或软件工程科班程序员、自作聪明的“天赋”程序员、低智商程序员中,一个服务于扎实的生产系统的优秀科班程序员,脑海中应该无视这个话题,并深深知道这个话题的中所述内容的混乱和无知;
4、本次所喷不允许回喷,不接受任何不一致观点;
5、以上4条受图灵和香农的双重保护,挑衅者会受到终身BUG和断网的诅咒。

聚小编 回复

大人,你太任性了,哈哈~

初码科技 回复

我认为你说的很对,支持!

初码软件 回复

我也认为你说的很对,支持!

初码张工 回复

我十分赞同这些说法,支持!

初码技术 回复

简直说得太好了,支持!

聚小编 回复

大人,你的小号都暴露了...

似水的流年 回复

元芳,此事你怎么看?

元芳 回复

欢迎大家各抒己见,欢迎各位朋友前来对撕~

初码 回复

想对撕的可要考虑清楚了,大浦洞2号已经就位

六块石头 回复

这条没法喷,走,下一个!

六灵私家 回复

好吧

聚小编 回复
回复@初码:

大人,这样很不好哦~~都喷不起来

我们众一个 回复

支持

吃货charles 回复

看来层主也是脱离了高级趣味的人

我的中国 回复

膜拜大佬,看不懂

空白的阿狸 回复

结尾标点非常标准 哈哈哈哈

李小程 回复

大人,你说的太对了。。。

fsdafaerwrw 回复

大人说的太对了!

评论
3

似水的流年 已获得珍藏版棒球帽 复制链接去分享

PHP简单易用,学习资料丰富,入门容易,成本低,开发快,弱类型,支持过程化和面向对象编程,提供有各种各样Web开发可能用到的功能和函数。解释执行,无需编译,快速开发,生产环境又可以开启ZendOpcache提升性能。几乎不用担心内存泄露问题,处理完毕,便释放资源。
无需编译,弱类型,热部署,开发快,运行稳定,运维省心,内置模板引擎,丰富的库函数,强大的哈希表(关联数组),脚本中所有量,每一个请求对应一个生命周期,几乎不存在内存泄露,这些都是PHP明显的优势,加上PHP7性能大增,在追求短平快的互联网时代,PHP最适合不过的了。PHP的本质就是解放和发展生产力。
但是PHP的函数很多,我除了常用的,其他的函数是不太记得住,每次想调用都要上网查询。
PHP还没有专门的编写的IDE
另外据说所有的工程师都鄙视 PHP 工程师。吓得我要从坑中爬出来了~~~还是用JAVA大法好哦!帽子好喜欢QQ_20170320175750

聚小编 回复

夸了半天,竟然是个JAVA爱好者~

似水的流年 回复

因为每次说php都被同学鄙视了

元芳 回复

就是就是,我还以为是来支持PHP的呢!

元芳 回复

你用PHP把他们鄙视回去啊~

似水的流年 回复

php在写一些网页类抓取用CURL确实方便,是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。
我基本是写项目看用什么语言方便就用什么语言写,不会的就自学

似水的流年 回复
回复@元芳:

O(∩_∩)O哈哈~我做的东西比别人多,一大部分都是PHP的。。。。。。

初码 回复

完全扯蛋!关于爬虫,请参考这篇文章:http://www.cnblogs.com/printhelloworld/p/6354085.html

华尔街地摊 回复

phpstorm

良讯 回复

因为php确实有很多Java比不了的地方,但是Java在处理大数据上绝对是一等一的好手这点又是php无法比拟的。 顺带说一句 JAVA大法好

元芳 回复

把你喜欢的帽子送你了~
是不是得再给我力证下PHP是世界上最好的语言?

似水的流年 回复

php能够跨平台,不像aspx的需要在win下的iis服务器下部署,几乎可以在每个Web虚拟主机上运行由PHP建立的网站,而不要考虑服务器所运行的是什么操作系统,获取开发和使用PHP代码的构件(building-block)工具和软件都是免费的。

无毒蝎子 回复

·凡是喷PHP的语言,都是没人用的语言.
·凡是用PHP的开发者,都是最务实的开发者.
·PHP代表着最先进的生产力,
·PHP代表着最先进的文化,
·PHP代表着最广大开发者的根本利益。

SO,PHP是世界上最好的语言,

无毒蝎子 回复
回复@初码:

你蛋没了!关于爬虫,请参考这篇文章:https://github.com/owner888/phpspider

评论
4

软件制作 已获得定制笔记本 复制链接去分享

1、java和php技术层面对比:

java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考第6点。
PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。
两者相比,基本上java完胜。但是其实并没有太大的可比性,专注领域不同。单纯拿两者都可以做的WEB来说,PHP完胜。

2、java和php市场份额对比:

java语言算是古老,多年的发展,其在C/S领域和B/S领域都占有一席之地,特别是在电信和银行行业。但随着社会需求的变化和其他语言的专注,java的市场正被一点点蚕食,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。其之前积累的巨大java帝国不会一下子崩塌,一定是有一个过程。所以现在学习并不需要担心其前途,现在学习你更需要担心的却是近十年间英才辈出的javaer,和大批正在进入java阵营的同业者。
PHP在市场描述就比较简单了,因为我们只要看一个领域,那就是web领域。WEB领域php的市场超过80%,其余的则是如java-JSP,asp,C#,.NET,python,ruby等。网站500强中有395家使用PHP。全球最大的两个网站facebook和新浪微博全在使用PHP。
两者相比,算平分秋色。

3、java和PHP的发展空间对比
安卓势头很猛,但手机安装app数量有限,推广难,也是app面临的最大挑战,好在安卓只有JAVA可以做,除此之外就是HTML5了。
中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%,网站的可发展空间可谓巨大;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可谓互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。
两者相比,个人觉得PHP的优势更加明显。

4、java和PHP的薪资对比
薪资事由供求关系决定的,人才缺失,薪资自然高,人才饱和,薪资自然不会高。
java由于大学基本都有这个课程,很多人想从事软件行业的时候,自然就学习JAVA了,加上java近10年的火爆,人才辈出,整个java行业是处于供大于求的。南京地区:一个30人的java培训班,最后差不多10人找不到理想的工作而转行,最低薪资甚至只有1000多元,就有人肯干。当然java学的好的,薪资4000多也是不少的。
PHP完全依托于市场的驱动,难点在于很多人并不了解PHP,也没途径可以了解,根本原因是大学没有这个课程,我知道的,南京百十所高校只有晓庄学院开了PHP课程,而且不是作为主修。市场对PHP的需求,高校并不清楚,高校更愿意推符合学院派特点的java。
学习php的人少,企业需求多,导致PHP薪资远远超过了同行业者。一般起薪没有低于3000元的。南京地区高的早已经突破4500元。北上广更是突破了6000元的起薪。
两者相比:除了java工作难找,但只要找到了工作,高位线是差不多的,低位线JAVA明显处于劣势。

5、java和php的薪资涨幅速度对比:
java是公认的难,难上手,真正上手需要至少1-2年,而这期间都属于学徒级别,薪资涨幅有限。2年后会有一个较大的涨幅,基本拿个6-7千是没有问题的。
PHP是公认的简单,上手极快,基本过了试用期就可以涨工资了,PHPer正常是半年涨一次薪资,前3年的幅度都还可以,1年5-6千,2年7-8千。3年能过万的也大有人在。
两者相比:其实php的前端优势明显,后段双方区域持平。并不像很多人说的PHP后面难涨,PHP缺人,但更缺熟手。java也不像很多人吹嘘的那样高薪,两级分化严重。其实也很正常,越难的语言,两级分化越是严重。

6、java和php各自发展的瓶颈:

JavaEE体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。使用Java是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和维护难度使Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。Java的特性使得它并不适合业务随着市场快速变化的互联网企业,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。php的大中型系统开发,方便、快速、是java跟asp.net没法比拟的, 还有php有很多如yaf,yii,ci等强大的框架, 中小型一般系统的开发,一个thinkphp就足于通杀java的ssh三大框架了。
PHP由于其简单,快速开发等特点,也导致了开发复杂应用稍显吃力,所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,导致其开发快速,学习简单;但也导致了学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,facebook和weibo.com正在大量使用扩展功能去应对一个又一个的难题。新浪微博架构师兼首席PHP技术顾问惠新宸一直在专注与PHP底层原理的研究和分享。扩展是被他认为PHP最伟大的地方。

7、java和PHP的岗位数对比:
一下数据出自2014年9月初的百度统计:
2014年9月初,全国java招聘岗位数为82703个。

全国java招聘岗位数

2014年9月初,全国PHP招聘岗位数为47263个。

全国PHP招聘岗位数

java的岗位数差不多是PHP岗位数的2倍不到。但值得深思的是,java的人才数量是PHP人才数量的100倍还不止。

8、java和PHP的学习成本对比:
java学习,是公认的难。难以上手,难以理解。自学时间成本是12个月,自学成功率不到10%,培训时间成本也近6个月。培训费用平均成本大致为15000元左右。成为熟手的时间成本为2年。成为高手的时间成本一般为5年以上。
PHP学习,是公认为最简单的语言。解释性语言,无需编译。自学时间成本是6个月,自学成功率20%,培训时间成本3个月。培训费用平均成本8000元左右。成为熟手的时间成本为1年。成为高手的时间成本一般为3年以上。
两者相比,java的学校成本要明显高于PHP。

总结一下:java和PHP各有各的优势,说到明天早上也不一定说的完,我想说的是学习哪一个,都是OK的。
想学java就从事安卓行业,想从事WEB领域,就学习PHP。
由于java的学习难度,没有基础或者基础不好的同学还是谨慎选择,对于零基础的同学还是PHP可能更加适合一点。

聚小编 回复

这个对比很细致啊,顶!@元芳大人,你怎么看?

元芳 回复

很好很强大,打赏~

11刘 回复

赐你最佳分析师,完美,

张梁 回复

对新人最有帮助的评论

评论
3

maxwell 已获得虾米VIP月卡 复制链接去分享

这个话题够坑的。估计也是为了吸引眼球而吸引,广大工具码农们就跟那些买了INTEL 或者 AMD cpu 阵营的喷子们,相互对怂、积极迎战,好不热闹。

在我看来工具本身没有好坏,反倒是存在越久的,在其自己的方向上肯定是越完善的。Bill Gates 曾经说过,他可以用BASIC编出任何你想得到、做得出的东西;同理PHP无论是放到shell、backend、front在精通的人手里完全是金箍棒级的存在。语言千万种,关键还是找到哪一款适合自己,适合自己未来的工作。

无论什么语言其只是为了让我们和机器去沟通,所以易学易用才是真谛。有人喜欢用工具比执行效率、比先进性,我可以这么说,真是这么关注执行效率和进性的人,您一定学者 linus 一样早就自己搞了,何必参在此嘴炮呼啸。

从这一角度上来说PHP确实是一门武林绝学,只是世俗的人往往更看中难窥真容的九阴真经,即便内功平平却仍希望一门真经使自己超凡脱俗,殊不知药师只是泛泛一招碧波掌法便可独步天下了。

总之,牛B的人不在乎语言,在乎语言的必定不牛B。

聚小编 回复

“牛B的人不在乎语言,在乎语言的必定不牛B。”这句好精辟

元芳 回复

冲着最后一句,我得给你个打赏~

峰鸟 回复

够精辟,赞赞赞赞!!!!

评论
5

mxf851x 复制链接去分享

我觉得语言没有好坏,特定的场景使用特定的语言,一门语言的出现绝对是为了解决某个痛点出现的,就像java的跨平台一样,使用php能快速构建出一个web工程,但是也因为php简单易学,很多人以为会写代码了,就是会php了,其实php的灵活性,弱类型也决定了一大批烂代码的出现,想灵活应用写出效率高,稳健的代码也并不是那么容易。

我个人既是java工程师也是php工程师,看项目需求和大小,来决定使用哪门语言!

元芳 回复

具体问题具体分析,点赞~!

netperson 回复

同意观点!和语言无关,和编程思想有关!本人也是.net和Php都用

mr.蜜 回复

php就是那种门槛低,入门简单,要成为大侠可就难了!

思帝乡 回复

没有最好的工具,只有最好的工人!

rest 回复

写代码都看人!

蓝色星雪 回复
回复@mr.蜜:

支持。PHP的好处就在跟C语言深度融合,就像众多大型网游(如WOW,大话西游系列等),引擎用C开发,业务层用LUA。PHP也是一样的,在WEB领域,要求性能的繁重任务用C写扩展,快速业务层用PHP来实现则可达到开发速度超越WEB领域中所有其他语言,性能也超越WEB领域所有其他语言!包括JAVA在内!当然仅限WEB领域

评论
0

龙慈松溪 已获得定制笔记本 复制链接去分享

从学校学的都是java,前几周刚入职,没想到老师让学PHP。
下面是毕业设计思路用的java,如果PHP的话,如何解决。各位大神。
09efbcb06f4a48c49e920b52d7cbcaf4_1_1490072630.302411.jpg

元芳 回复

PHP阵营欢迎你~

轻风息 回复

单片机属于低速件 直接能连 MVC么? 即便网络层打通 给单片机装上网卡 且中间POST 和GET也能简单处理过,你这个流程是所谓的 [单片机]-[互联网]-[服务器] [手机]-[互联网]-[服务器] 这个PHP/JAVA只是服务器脚本语言,买个网页空间。 单片机写个服务器轮询(服务器推难) 服务器只是个网页。留两个接口 就是两个提交地址的点就行了,然后改数据库不要REDIS缓存 真心没必要。 手机直接通过网页更改服务器(MYSQL)内容。单片机轮询实现2极管点亮。
如果非要做个单片机的毕设,网上有蓝牙电子钟的。[手机]-[串口蓝牙]-[单片机] 这个应付个毕设没问题

蓝色星雪 回复

真有人自以为JAVA万能了?树莓派的系统也是用JAVA写的?

龙慈松溪 回复
回复@元芳:

谢谢,大神

龙慈松溪 回复

嘿嘿,主要是希望毕设可以13一下下,让我的女神更加崇拜我,所以下的功夫比较多。嘿嘿。

龙慈松溪 回复

这里用的是python,嘿嘿

龙慈松溪 回复

树莓派蓝牙连的单片机,嘿嘿

评论
2

ahjesus 复制链接去分享

1

哈哈哈 PHP是世界上最好的语言!

先来讲一个段子:

某女:你能让这个论坛的人都吵起来,我今晚就跟你走。

某软件工程师:PHP是最好的语言!

某论坛真的就炸锅了,各种吵架……

某女:服了你了,我们走吧,你想干啥都行。

某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言…

这个段子想必大家都听过,那么,为什么说PHP是世界上最好的语言呢?

哈哈哈哈哈哈哈哈哈哈哈哈哈

也有人不服了,指出PHP的不足之处:

PHP 的核心函数命名很不一致,有 「strptime」这样类 C 函数的名字,有「nl2br」这样的简写,却也有「htmlspecialchars」这样的长名。后来人们发现这种不一致并非偶然,而是当 PHP 还是只有不到一百个函数的小语言的时候,其作者决定用函数名的字符数量——来作为函数的 hash(!)。由于这个愚不可及的决定,PHP 的函数名长度要尽可能地长短有秩、均匀分布,影响一直延续至今[0]。

但是这依然阻挡不了PHP是最好的语言之路:

  • 别的语言有这么用心的地方嘛?你行吗?PS记忆卡
    2
  • 三个程序员坐在格子间里编程。

    • 一个程序员一言不发,他用的是python。
    • 一个程序员写一会儿就按一下编译,然后就玩会儿手机。他用的是C++。
    • 一个程序员坐在那里浏览网页,不时飞快的键入一些字符。
      经理看到,怒道:你怎么不干活,尽在上网。

    回答:我在查实现这个功能需要用什么函数。
    他用的是PHP。

  • 入门快,普及率高,但是每次写代码都要网上找“XXX功能用的函数叫什么来着”...
  • 有人扒出了2012年的图
    3
  • php乡亲门
    4
  • 某个phper嘲笑另外一个phper代码烂
    义愤地喊了句:php本身就不需要多高的水平

顿时就遭到了围攻。
一个phper神一样的声音说:十年后,你会为你此刻的浅薄而羞愧。
可是我已经在这行里干了十七年。
于是删掉所有的回答,留了一句:php是世界上最好的语言。

  • 也有人一语道破天机
    大部分敢于说自己是最好的语言的语言,至少有一部分人是真这么认为的。

比如说C语言最好的,最差最差也有一部分C语言核心开发者有信心这么说。
但是PHP语言是一个连开发者都不敢『声称是最好的语言』的语言。
这是不言自明的公设,不需要证明。
小圈子有个笑话。
会不会用PHP是有一个明确判断标准的:
只有觉得PHP是个烂语言,才有资格说「我会PHP」。
如果你连PHP有多烂都感觉不出来,请别说「我会PHP」「我会编程」

分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线分割线

编程语言之争由来已久,
但是php和java确实是最受争议的。
自从web2.0热起来后,java逐渐淡出了。
究其原因并不在于语言本身,
而在于用语言的人。
培训机构大肆宣传,把php吹得神乎其神,
动不动就facebook 百度 腾讯 新浪挂嘴边。
搞得好像互联网就是php做的。
因为php确实简单,门槛最低,
所以很多并不适合编程的人涌了进来,仅仅为了糊口罢了。
这些人的各种无敌言论自然让很多科班的人呲之以鼻。
天龙八部里有个星宿派,
虽然在施毒方面有些特长,但门下弟子总的来说武艺平平,
其实江湖武功低微的人多的是,低调便是了,谁又老是盯着你呢?
然而这个新宿派却偏偏跑出去招摇过市,胡吹本门派武功盖世,大有傲视天下之势,
那么其他门派的人会怎么看他们呢?
php就是语言江湖的星宿派。

其实我要说,GOLANG才是世界上最好的语言。哈哈哈哈哈哈哈哈

聚小编 回复

说了这么一车,原来不是php那一队的哦

元芳 回复

我不服。

oyksoft 回复

说了半天没有说php有什么不好。

奕奕 回复

就是就是,说半天你是反对者

无毒蝎子 回复

这就是个逗必,鉴定完毕!

hfboss 回复

一下就让人家记住了,有型

评论
1

implode 已获得虾米VIP月卡 复制链接去分享

1.PHPer已实现商业化量产
2.PHP有很多优秀的函数和丰富的库
3.本身是解释型语言,容错率高,敏捷开发
4.PHPer有部分是非专业的,对数据结构和算法,计算机内存,堆栈认识不足
5.PHP是开源免费的,有优秀的开源社区
so导致了现在的纷争。其实我想说,其实优秀的程序员肯定会不止一种语言,而起真的喜欢程序的人应该喜欢语言的多样性,这让我们变得不那么独专无聊。我是程序员,爱编程,爱生活,爱萌妹。

聚小编 回复

最后一句才是心理话吧~

afdsa 回复

这才是真话

aguangcn 回复

最后一句才是真心话。

评论
1

清风流水 复制链接去分享

PHP,拍黄片😏😏😏😏

shuaigecheng 回复

老哥稳👍

nickvico 回复

舅服你!

聚小编 回复

黄段子少看,注意身体😏

ivenzhang 回复

Very good~

小宁的小宁 回复

注意身体

不是码 回复

强身健体有术

shangg16 回复

厉害了——

海褪了潮 回复

身体重要

评论
1

乌云的尽头 复制链接去分享

一直被模仿,不久被超越

元芳 回复

你认为会被什么语言超越?聊聊呗

起名字好难 回复

python

明之印 回复

java

聚小编 回复

PHP++

评论
2

keller.zhou 已获得虾米VIP月卡 复制链接去分享

部署简单
很多其他行业的公司,希望有一个网站,他们并没有多少预算在网站上,可能只是随便买了一个虚拟主机,这时恐怕最好的选择就是 PHP 了。支持 Ruby, Python 之类的语言的虚拟主机很少,ASP 需要 Windows 的服务器,只有 PHP 可以运行在任何一家虚拟主机上。

学习门槛低
一开始 PHP 是专为 Web 设计的语言(虽然现在已经在向通用编程语言靠拢了), 学习和使用门槛很低,建一个 .php 文件就是网页,用 $_GET['XXOO'] 就可以获取到 GET 参数。而其他通用编程语言,原生并不支持这些与 HTTP 协议相关的功能,这时就需要选择并学习一款 HTTP 框架才能编写 Web 应用,例如 Tornado(Python), Ruby on Rails 等。

语法简单
PHP 一开始是弱类型的(现在只是不那么弱了而已,还算不上强类型),几乎不需要考虑类型转换的事情,甚至在一开始很长的一段时间里,都没有支持面向对象。PHP 可以非常简单地从数据库中存取数据,而一半的网站也无非是从数据库中读写数据。
因为 PHP 是以 CGI 或 FastCGI 的形式运行的,因此也不必考虑内存管理的问题,反正每次请求后,内存都会被释放。
PHP 的错误处理机制也很简单——如果出错就在页面上打印错误信息。想要关闭错误提示也同样简单。

很多重量级的开源项目
如 WordPress(博客), Typecho(博客), Drupal(CMS), MediaWiki(WIKI), DiscuzX(论坛) 等等,可以说想要不折腾地部署一个网站 PHP 就是最佳选择。

经过了历史考验
PHP 毕竟也算是老牌 Web 编程语言了,能踩的坑已经被前辈踩过了,大量的库可以重用,要招会 PHP 的开发人员也很容易,而 Node.js, Golang 等等新语言则会遇到技术储备,人才储备方面的问题。而Python, Ruby 也不要高兴得太早——虽然你们很早就被发明出来了,但那时候还没多少人搞 Web 开发。

准确的说是web开发最好的语言

4

szm. 复制链接去分享

首先php变量都是$开头注定是多金的标志😂,哈哈,开个玩笑。
进去正题,作为开源软件,注定它的关注度不会低,对比Java和c#,我喜欢它的原因是环境更简单,开发工具也更多样。
开发Java web,首先要安装JDK,然后安装tomcat或者weblogic,开发时需要web页面与后台源码结合,开发工具eclipse或者myEclipse,可能配置不好,导入个JS库给你打个红叉,虽然编译通过,但是对于强迫症来说很不爽啊。
开发C#必然需要安装宇宙第一编辑器vs,它太过强大,导致我每次运行都感觉电脑在折寿,倒是运行环境比较简单,只需要启用一下就可以。
相对来说,PHP就比较简单了,因为开源,并且算脚本语言,各种轻量级的编辑器可供选择,而且各种提示十分的齐全,可以说很顺心,在环境方面,wamp或者lamp装上,顺带就可以用MySQL了,可以说很省心😊
综上,我喜欢PHP,PHP是世界上最好的语言😂😂😂

聚小编 回复

这是说得有多违心啊~~

szm. 回复

ʕ•͡•ʔ一点都不违心

flxxy 回复

安装配置的话,现有的集成环境真的很方便,一个vs 和 phpstudy + notepad++ 是两个东西,Java 只会命令行 hello world 不做评价😂

路杨 回复

Perl也是$开头。话说,站在巨人的肩上发展起的语言自然牛。但每个语言都有其优势

评论
-1

玩站网 复制链接去分享

题主居心叵测啊。

golang是最逆天的
php是最好的
java最牛逼的
C最经典的
汇编最厚重的
javascript最花心
C++最万能

聚小编 回复

那PHP呢?

鬼才神兵 回复

人家不是说最好的么!哈哈

元芳 回复

我想问问,我咋就居心叵测了呢?

鬼才神兵 回复
回复@元芳:

挑起语言战争

聚小编 回复

你知道的太多了~~嘿嘿

评论
0

轻风息 已获得虾米VIP月卡 复制链接去分享

   可能与众多软件开发者不同的是,我原先是做硬件出身的,设计一款电子计算机,原理是最关键的。
   原理很简单一大堆锁存器,晶振一跳触发时序变化。锁存器间的数据执行 和 或 否 异或 。指令集有两张X86 认的是INTEL 8086指令集就是!CPU认的是MOV 等汇编指令这些汇编指令在CPU内编成机器指令执行。
 以下讨论不考虑工资收入,只考虑实现项目的语言,现在来说执行最快的一定是汇编!如果用汇编写程序一刻上世纪2M硬盘几K内存主频12M的单片机照样能够拍出冥王星的照片并发回地球。但是这2M程序可是一整个开发组开发半年以上才能完成的。每个指令都考虑再三。每个设备如照相机温度传感器辐射计数器等等科学仪器和微波通信系统都共用一个处理器。所以曾经先知说过128M的电脑完全够所有人用。虽然这现在看来是个笑话。
 在汇编之上可以直接写C C语言可以通过编译器直接扔到CPU上执行。你这时候问操作系统呢?对的如果你直接写C语言的话确实是可以执行的。把C语言程序刷入BIOS芯片(SPIFLASH)就行了。如果你这时候执行C的调度速度也很快。但是你确实不能这么写,因为你没有网卡对应的寄存器物理地址 和各厂商硬件的物理地址,因为都是机密。除非是自己写单片机程序实现各种总线接口(I2C I2S SPI UART PCIE USB) 。最小的服务器其实现在已经可以搭建了。叫做BOA 可以百度搜一下 这个服务器是C语言搭建的 可解析PHP语言的单线程单用户服务器(可以说你的路由器配置页很多都是用的这个)这时候你有没有发现不能读Java (JSP)也不能读ASP? 这就证明PHP的硬件要求极低32M的ARM就能运行。
 在处理之上C语言直调用之外,还可以用C语言调用载入操作系统(BIOS FASTBOOT)。由操作系统调度各程序,各大厂商可以把自己的硬件时序封装成各系统的驱动从而不公开内部时序和调用的方法。操作系统有很多有多用户多任务的。有流控调度的。但是总之现在靠谱的就是linux 和windows (流控 和抢占式调度不讲 可参考非智能手机)
  操作系统应该做到系统无关语言,既操作系统不能限制开发者使用的开发语言。既你的手机上的软件不应该强制使用java /object C/ swift开发 看看你的电脑有软件就是例子既能运行c也能运行java和其他语言开发的程序 只要有相应编译器就行了。
 而苹果和安卓系统不能称之为一个真正的系统都是盗用linux内核的。不!是使用linux内核的。上层操作系统 由于早期硬件限制 导致一部手机不可能和电脑那样安装各种编译器(如.NET c++ JDK......)导致谷歌强制安装了一个DV 安卓虚拟机,只认Java 。
这个愚蠢的设计导致了所有软件都要java开发。有的友商做的游戏为了同步更新 是用objectC的游戏引擎 然后到安卓加壳然后运行的 这样一个程序就成了 objectC->java-java虚拟机->安卓各种中间层(C)->linux->底层(汇编)运行不卡就怪了。
苹果更差不解释。苹果开发者都知道。动不动为了吃数据。美名其曰保护用户,各种限制,不停的更新要么闪退弄得用户觉得是你的BUG。发行个应用还没赚钱先买个证书???苹果商店干捞钱???
但是没办法没有人安装Ubuntu(linux)系统,而且没有先行者带路国外资料看不懂,

所以没钱的小公司不要开发客户端!!
所以小公司不要开发客户端
所以不要开发客户端
所以请开发网页

网页兼容统一 各家浏览器 翻译成自己的执行语言 自己执行。
网页后台选php asp jsp 自己写C?
成本上我选php 因为虚拟主机奇便宜。
php 一次性编译 每次都执行,客户走了内存清空没有常驻内存的概念。这个就导致了许多先进的理念无法施行比如ORM 比如MVC 或者施行了也不能常驻内存只是一种假施行。

所以php不能开发巨大的项目,听说Taobao本来就是php开发的到了千万就是php的瓶颈 最后改语言。但是谁的网站能千万????现在php的mysqli后台也融合了数据库链接池和缓存写入思想。所以用php没事。还有thinkPHP框架 开发中型项目

反观JSP 没错是快了 没事就要用框架 spring hibernate…… 不是每个项目都是企业级项目。不是每个项目都要写半天代码实现。

再查看代码 重用性 各种常用的什么读写数据库 OSS 什么键值存储 每家都支持 。但是有的阿里云的SDK没有PHP版本,如表单存储。

总之小项目用php 大项目用jsp有人报销的项目用Asp
若有不对的地方请指出谢谢

1

adll 复制链接去分享

PHP,我得最爱。简单总结下:
1、良好的安全性
PHP是开源软件,所有PHP的源代码每个人都可以看得到,代码在许多工程师手中进行了检测,同时它与Apache编绎在一起的方式也可以让它具有灵活的安全设定,PHP具有了公认的安全性能。开源造就了强大,稳定,成熟的系统。
2、跨平台特性
PHP几乎支持所有的操作系统平台及数据库系统,并广为流行。
3、执行速度快, 效率高
PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页速度比CGI、Perl和ASP更快,而且内嵌Zend加速引擎,性能稳定快速,占用系统资源少,代码执行速度快。PHP消耗相当少的系统资源。的源代码:   所有的PHP源代码事实上都可以得到。
4、很好的移植性和 扩展性强
PHP具有很好的开放性和可扩展性,PHP可以运行在任何服务器上(不管是windows还是Linux)属于自由软件,其源代码完全公开,任何程序员为PHP扩展附加功能都非常容易。在很多网站上都可以下载到最新版本的PHP。目前,PHP主要是基于Web服务器运行的,支持PHP脚本运行的服务器有多种,其中最有代表性的为Apache和IIS。
5、降低网站开发成本
PHP不受平台束缚,可以在UNIX、Linux等众多不同的操作系统中架设基于PHP的Web服务器。采用Linux+Apache+PHP+MySQL这种开源免费的框架结构可以为网站经营者节省很大一笔开支.
6.支持面向对象
面向对象编程(OOP)是当前的软件开发趋势,PHP对OOP提供了良好的支持。可以使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都非常有意义。
7.功能强大
PHP在Web项目开发过程中具有极其强大的功能,而且实现相对简单,主要表现在如下几点:
可操纵多种主流与非主流的数据库,例如:MySQL、Access、SQL Server、Oracle、DB2等,其中,PHP与MySQL是现在绝佳的组合,可以跨平台运行。
可与轻量级目录访问协议进行信息交换。
可与多种协议进行通信,包括IMAP、POP3、SMTP、SOAP和DNS等。
使用基于POSIX和Perl的正则表达式库解析复杂字符串。
可以实现对XML文档的有效管理及创建和调用Web服务等操作。
8.可选择性
PHP可以采用面向过程和面向对象两种开发模式,并向下兼容,开发人员可以从所开发网站的规模和日后维护等多角度考虑,选择所开发网站应采取的模式。
PHP进行Web开发的过程中使用最多的是MySQL数据库。PHP 5.0以上版本中不仅提供了早期MySQL数据库操纵函数,而且提供了MySQLi扩展技术对MySQL数据库的操纵,这样开发人员可以从稳定性和执行效率等方面考虑操纵MySQL数据库的方式。
9.版本更新速度快
与数年才更新一次的ASP相比,PHP的更新速度要快得多,因为PHP几乎每年更新一次。
10.模板化
实现程序逻辑与用户界面的分离。
11.应用范围广
目前在互联网有很多网站的开发都是通过PHP语言来完成的,例如,搜狐、网易和百度等,在这些知名网站的创作开发中都应用到了PHP语言。

聚小编 回复

又一个PHP的铁粉~~

吃货charles 回复

你跟asp web对比就LOW逼了,应该跟java和Python对比哇,你在降低PHP身份

起名字好难 回复

竟然拿php与是asp对比?
你不是php粉吧
你是php黑吧

蓝色星雪 回复

,,,,,,,作为一个PHP粉,表示看不下去了,你列举的这都不能证明PHP是世界上最好的语言这一观点,,,,,

评论
0

沉睡的蛇魔 复制链接去分享

我即使是死了,钉在棺材里了,也要在墓里,也要用腐朽的声带喊出,laravel是最好的PHP框架!
你被管理员禁言30天
f037868d34d9428fa54af6682448a3c8_b820bb42eae2437fa2a643e8292240dc.jpg

鬼才神兵 回复

不按常理出牌啊!

xushu 回复

php现在渐渐用的少了

网络阿骨打 回复

支持你说Laravel是最好的php框架

luneice 回复

PHP拍黄片😂😂😂

执剑横秋 回复

laravel,爱不释手

评论
2

云栖技术 复制链接去分享

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法;PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多,PHP具有非常强大的功能,所有的CGI的功能PHP都能实现; PHP支持几乎所有流行的数据库以及操作系统;最重要的是PHP可以用C、C++进行程序的扩展。
Java的优势,与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
C++没有用过,貌似也不难。只要疏通一门语言,其他语言也会容易一些、
总结:php是世界上最好的语言,没有之一,Java简单,C++不做评价

元芳 回复

php是世界上最好的语言,没有之一

flxxy 回复

没有之一

评论
1

ap7765q7k 复制链接去分享

最近在 twitter 上也经常能看到编程语言孰优孰劣的争论,足矣说明这已经是世界性的话题了,哈哈。我想说的是,对早期创业者来说,语言真不是,真的不是,真的不是最重要的,管它PHP还是Ruby,你会用哪个,抄起来就用啊,最快速度把功能做出来这才是重点。就算PHP天下第一,你不会用,不也是白扯嘛!人都说 Go 适合开发高并发应用,性能好,你不会用,难不成还要报个补习班学一下?生命不息,争论不止,有一天你加入了PHP的阵营,突然发现大家正在争论谁 Symfony / Laravel / Codeigniter / Phalcon 哪个才是最好的框架,请相信我,还是选择你能最快上手的那一个。工具是语言专家的目标,而我们创业的目标是功能。

聚小编 回复

那题主用哪种语言呢?

元芳 回复

对,把你最上手的说说。

ap7765q7k 回复
回复@元芳:

我的工作语言是 PHP,早先用 Codeigniter 多些,自从接触了 Laravel 以后就不用别的框架了,但是听很多人说认真玩一下 Symfony 就会对 Laravel 有更深层次的理解,以后有时间必须要试一试。准确的说,我并不是一个合格的开发者,而是个必须亲力亲为的创业者。语言和框架都是能够帮助我实现想法的工具,我一个都不精通,未来也不会精通。如果有必要 Ruby 和 Python 我都会用,就是跟着需求走,需要什么,什么合适,用什么,回答完毕!

ap7765q7k 回复

我主要用 PHP,嘿嘿嘿。😋

评论
1

oldsyang 复制链接去分享

说什么呢,python在此

聚小编 回复

怼出来呀!

老王在上班 回复

支持python

很久以后 回复

php相对java 来说入门快一点。。不过都是不错的后台语言。。个人觉得java 应用广一点

评论
1

happycc 复制链接去分享

filesize缓存的问题

PHP的filesize居然会缓存(当然还有不少,这里仅用filesize举例,其它会缓存的函数,以官方文档为准)
线上代码经常随机出各种问题,排查了1个月,线上加各种日志,最终发现是filesize缓存的问题,如下代码:

[php] view plain copy 在CODE上查看代码片派生到我的代码片
echo filesize("a.txt");
exec("rm a.txt"); // 删除文件
echo filesize("a.txt"); // 这里会输出大小,而不是报错说文件不存在

echo filesize("b.txt");
echo filesize("a.txt"); // 这里会报错文件不存在,因为只缓存最后一个文件,缓存里只有b,没有a的缓存了
看到了吧,filesize不仅有缓存,而且还只缓存最后一个文件,所以说PHP的开发人员也不知道怎么考虑的,就不会加个filesize_withcache方法?
知道了原因,解决也就简单了,在filesize调用前清除缓存,加代码: clearstatcache()
参考官方文档:http://php.net/manual/zh/function.filesize.php

保存源码文件时,注意要使用utf-8无bom签名
之前用Windows的记事本编辑文件,发布到Linux上线后,一直报错:Cannot modify header information - headers already sent by (output started at xxx.php:1)
用Winmerge或BeyondCompare对比代码也无法发现问题,后来用Netbeans才发现文件最前面多了一个不可见字符,研究后才知道是Windows的Bom签名
也就是说,在Windows上开发,在Linux上发布,注意要使用不支持Bom的编辑器,如果用VisualStudio要选择高级保存选项里的不带签名

null和空、0、false等四个值的比较

在PHP中,== 会先进行类型转换,再进行对比,而===会先比较类型,如果类型不同直接返回不相等,参考如下示例
[php] view plain copy 在CODE上查看代码片派生到我的代码片
$a = null; $b = ''; $c = 0; $d = false;
echo ($a == $b)?1:0; // 输出1
echo ($a === $b)?1:0; // 输出0
echo ($a == $c)?1:0; // 输出1
echo ($a === $c)?1:0; // 输出0
echo ($b == $c)?1:0; // 输出1
echo ($b === $c)?1:0; // 输出0
echo ($a == $d)?1:0; // 输出1
echo ($a === $d)?1:0; // 输出0
对于我这种以前只写js或C#代码的码农,被这几个值忽悠过n次,n大于3

strrchr函数

在W3School站点上的注释如下:

strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
如果成失败,否则返回 false。

实际上,这个函数是查找某个字符,而不是查找字符串,应该参考官方文档

代码示例:
[php] view plain copy 在CODE上查看代码片派生到我的代码片
$a = 'abcdef.txt';
$b = '.php';
echo strrchr($a, $b);
上面的代码输出是:.txt
也就是说,如果$b是字符串,只使用第一个字符,后面的其它字符会忽略

注:php提供了strstr函数,为什么不提供strrstr函数呢,虽然自己实现也很简单

foreach里的引用赋值,参见官方文档
这个引用赋值很好哇,对用C#的我,在C#里要修改foreach的元素,是不可能的,是会出异常滴,php把这个变成了可能,但是:
在官方文档里有一句警告:Warning 数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁。
我们看一组代码:
[php] view plain copy 在CODE上查看代码片派生到我的代码片
$a = [1,2,3];
foreach($a as &$item){

echo $item . ',';  

}
//unset($item); // 引用赋值后不销毁对象
foreach($a as $item){

echo $item . ',';  

}
上面的代码的输出如下:
1,2,3,1,2,2 看最后一个输出的是2,而不是3,就是因为代码里没有销毁$item造成的,原因如下:
第一个循环,把3的引用赋给了$item,第二个循环,把1赋给了$item,因为$item是引用,导致数组的元素3变成了1,明白了吗?

isset与empty的联系和区别,isset文档 empty文档
empty对如下8种情况返回true:
null、 空串""、字符串0"0"、空array、布尔值false、数字0、浮点数0.0、类里用var定义但是未赋值

isset 检测变量是否设置,并且不是 NULL,但是对于empty的8种情况,只有null返回false,其它7种情况都返回true
综上所述,除了empty描述的的非null的7种情况,在其它情况下, if(empty(变量)) 等效于 if(!isset(变量))

灵活用法一则:直接访问 $arr['aaa'] 可能报错,说aaa不存在,可以用:
if(isset($arr['aaa']){ 操作代码} 或 if(!empty($arr['aaa']){ 操作代码}

trim函数遇到中文空格时,会乱码
[php] view plain copy 在CODE上查看代码片派生到我的代码片
$str = '  《前后有全半角空格》  ';
var_dump($str);
$str2 = trim($str, '  ');
var_dump($str2);
$str3 = mb_ereg_replace('^(?:s| )+|(?:s| )+$', '', $str);
var_dump($str3);
$str4 = mb_ereg_replace('^[s ]+|[s ]+$', '', $str);
var_dump($str4);
参考如上的代码,输出结果:
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
string '  《前后有全半角空格》  ' (length=38)
string '�前后有全半角空格》' (length=28)
string '《前后有全半角空格》' (length=30)

A PHP Error was encountered
Severity: Warning
Message: mb_ereg_replace(): mbregex compile err: invalid code point value
可以看出:trim导致乱码出现了,正则^(?:s| )+|(?:s| )+$ 可以正常工作,而正则^[s ]+|[s ]+$却编译异常,原因我还没搜索到

intval在Windows和Centos上,最大值范围不同
在centos上,intval转换的最大值是9223372036854775807,
而在我的Win7x64+64位的php上,转换最大值却是2147483647,非常奇怪,手册明明说64位系统都是9223372036854775807,
这么大一坑啊,官方解释php6以下在win上仅是测试版,不支持64位

执行SQL后不判断返回值,或判断逻辑错误:

$sql = 'insert into app_log(id) select 0 from dual where 1=2';
$this->db->query($sql);
return true; // 不加判断,直接返回true

$sql = 'insert into app_log(id) select 0 from dual where 1=2';
$result = $this->db->query($sql);
if ($result) { // 有bug,插入不成功,result也是true

return true;

}
return false;

上面的2段代码应该改成:

$sql = 'insert into app_log(id) select 0 from dual where 1=2';
$this->db->query($sql);
// 如果sql有语法问题,affected_rows是-1
if ($this->db->affected_rows() > 0) {

return true;

}
return false;

注意:mysql中,update a set name='123' where id=1;
如果id为1的记录,name已经是123,那么这条update语句的affected_rows()=0

元芳 回复

说说你的结论吧

happycc 回复
回复@元芳:

元芳,你怎么看?

happycc 回复
回复@元芳:

hi

评论
18