php语言是最好的语言
㈠ 为什么说php是世界上最好的语言
㈡ php是世界上最好的语言
PHP是世界上最好的语言。这是网络上广泛流传的一个梗,并不是说PHP就真的是编程最好的语言,其实每款编程语言都有自身的优势以及所专长的领域,并不能简单地说PHP就是最好的编程语言,这多少有点调侃的成分。
PHP优点
(一)流行,容易上手
PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。
(二)开发职位很多
在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。
(三)仍然在不断发展
PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。
(四)可植入性强
PHP 语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。
(五)拓展性强
PHP 语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高。
PHP缺点
(一)PHP的解释运行机制
在 PHP 中,所有的变量都是页面级的,无论是全局变量, 还是类的静态成员,都会在页面执行完毕后被清空。
(二)设计缺陷,缺少关注PHP被称作是不透明的语言,因为没有堆栈追踪,各种脆弱的输入。没有一个明确的设计哲学。早期的PHP受到Perl的影响,带有out参数的标准库又是有C语言引入,面向对象的部分又是从C++和java学来的。
(三)对递归的不良支持
PHP并不擅长递归。它能容忍的递归函数的数量限制和其他语言比起来明显少。
这句话的产生,虽然带有一定php码农个人感情色彩的偏见,但是未尝没有道理。首先,PHP的使用率远远高于其他语言的使用率,在web开发中占有很大份额。
同时PHP作为一种通用开源语言,因其语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛。具有简单易懂的语法、没有奇怪的黑魔法、既能面向过程,又能面向对象、安装后各种扩展集一身、包括但不限于mysql、json、mbstr等,方便至极。
在这种情况下,PHP就被戏称为“世上最好的语言”,当然它也不负众望,成了大部分IT码农的首选。它的门槛低,使得更多新手小白入门快,能快速了解IT这行,以及自己的工作性质。语法简单,很快融入其中,被成为“弱类型语言”。
现在很多重量级的开源项目都会使用PHP语言,企业开发上也越来越支持使用PHP。它成熟的框架,大大缩短开发周期,在加上成本低,导致了市场需求大。
(2)php语言是最好的语言扩展阅读
主要参考框架
(一)CodeIgniter的优点
1、配置简单,全部的配置使用 PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能。
2、快速简洁,代码不多,执行性能高,PHP框架简单, 容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用。
(二)CodeIgniter 缺点
1、把Model层简单的理解为数据库操作。
2、PHP 框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要。
(三)CakePHP 的优点
1、CakePHP 是最类似于RoR的 PHP 框架,包括设计方式,数据库操作的Active Record方式;设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错;数据库层的hasOne,hasMany 功能很强大,对于复杂业务处理比较合适;路由功能,配置功能还不错;自动构建脚手架(scaffold)很强大;适合中型应用;基本实现过了MVC每一层; 具有自动操作命令行脚本功能。
2、文档比较全,在国内推广的比较成功,大部分人都知道CakePHP,学习成本中等。
(四)CakePHP 的缺点
1、CakePHP非常严重的问题是把Model理解为数据库层操作,严重影响了除了数据库之外的操作能力
2、CakePHP的cache功能略显薄弱,配置功能稍嫌弱;CakePHP不适合大型应用,只适合中型应用,小型应用来说略微的学习成本高了点。
参考资料来源:网络-PHP
㈢ php鏄涓嶆槸链濂界殑缂栫▼璇瑷
鏄镄
PHP鏄链濂界殑缂栫▼璇瑷锛屼笉瑕佸啀镐鐤戜简鈫抇鈫
㈣ PHP为什么说是最好的编程语言
尝试网络”PHP是最好的语言”,发现指向较多的是那个关于程序员的笑话。 但是如果这个梗来自于这个笑话的话,那么为什么在笑话里这个程序员不说C++/python/haskell或者别的什么语言是最好的而要说PHP是最好的呢?所以感觉似乎最早的出处不在于此。 有人知道吗?
来看看知乎网友们是怎么看待这场语言之争的吧!
网友回答
网友A
“为什么在笑话里这个程序员不说 C++ / Python / Haskell 或者别的什么语言是最好的而要说 PHP是最好的呢?”——因为说任何其他语言“最好”都并不好笑啊。
任何掌握超过两种以上非 PHP 编程语言且具有一定常识的程序员都会本能地意识到 PHP 的问题所在,曾经有一篇汇总性的文章在此: PHP: a fractal of bad design / fuzzy notepad (译文版可见:五大受损, 全面解析PHP的糟糕设计,但翻译得很烂),历陈 PHP 破败之处,激荡深远。如果你没时间去读那篇长文,那我告诉你一个简单的例子来说明 PHP 有多匪夷所思:PHP 的核心函数命名很不一致,有 “strptime”这样类 C 函数的名字,有“nl2br”这样的简写,却也有“htmlspecialchars”这样的长名。后来人们发现这种不一致并非偶然,而是当 PHP 还是只有不到一百个函数的小语言的时候,其作者决定用函数名的字符数量——来作为函数的 hash(!)。由于这个愚不可及的决定,PHP 的函数名长度要尽可能地长短有秩、均匀分布,影响一直延续至今。甚至有好事者将上述文中:
You pull out the hammer, but to your dismay, it has the claw part on both sides.这一句严肃对待,做了一把 PHP 锤子:
试想你走进五金从业者公会的啤酒馆,看到墙上挂着从钉子到电动螺丝刀的各式工具当作陈列品,而你在端详一阵之后指着其中的这样一把锤子,说“啊,这是最好的工具”,你觉得酒馆里的人会是什么反应呢?
网友B
因为php和最好的语言几乎没有关系。。一般用来讽刺一些没见过世面,把自己归属于某一种编程语言的语言教徒。
事实上每一门语言都有其设计的灵魂,有它的取舍。很难说什么是最好的。比起做个脑残粉总是鼓吹自己擅长的语言,不如多学几门语言,开阔视野。
我们都喜欢分享自己的价值观。希望被认可,希望有更多同伴。其实这也是在给身边的人洗脑,这很正常。但有时候自己在某一领域的付出会成为枷锁。
网友C
Windows 是最好的操作系统!
以上为纯吐槽。
我看楼上还有很多还在讨论PHP不是最好的语言,还好我不是程序员,只是稍微懂一点代码,我认为之所以说这个梗,是因为PHP最普及和最流行,大多数不管懂不懂程序都知道或听说过,所以才能引起共鸣。这就是我上面那句吐槽的含义。
如果上面那句吐槽改为:Ubuntu 是最好的操作系统!(围观群众:What?)
网友D
难道不是这么来的?某女:你能让这个论坛的人都吵起来,我今晚就跟你走.
某软件工程师:PHP是最好的语言!
某论坛炸锅了,各种吵架…
某女:服了你了,我们走吧 你想干啥都行.
某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言
某女:…….
网友E
编程语言之争由来已久,
但是php和java确实是最受争议的。
自从web2.0热起来后,java逐渐淡出了。
究其原因并不在于语言本身,
而在于用语言的人。
因为php确实简单,门槛最低,
所以很多并不适合编程的人涌了进来,仅仅为了糊口罢了。
这些人的各种无敌言论自然让很多专业的人呲之以鼻。
天龙八部里有个星宿派,
虽然在施毒方面有些特长,但门下弟子总的来说武艺平平,
其实江湖武功低微的人多的是,低调便是了,谁又老是盯着你呢?
然而这个新宿派却偏偏跑出去招摇过市,胡吹本门派武功盖世,大有傲视天下之势,
那么其他门派的人会怎么看他们呢?
php就是语言江湖的星宿派。
网友F
对我来说PHP 就是最好的语言。它不是炫耀技巧、扯蛋概念的东西。完成任务才是程序员要做的事。没什么语言可以高效开发同时高效运行。
相关利益:写PHP17年。
网友G
作为一个十多年老phper,看到这句话,也会笑。虽然我也会c c++ java go ,并都做有相应产品。 世界上一半以上的网站是php, bat, fb,处处有它。但这些大公司在近些年,都在试图改造它。淘宝去php改java,网络重写扩展,fb搞xhp等等。但结局是搞了这么些,这几大公司却收效甚微。比之前的性能提升不了太多。在我理解看来,无非是想提高一下b格而已。
在php的初始阶段,php是连框架也没有的。直到今天,php创始人lerdorf仍然反对mvc,因为他觉得影响了性能。在那个年代,同样的一个应用,做java的待遇比php高一倍。因为php简单。如果跟你说一个人花了一个星期用php写了个论坛,跑得也还蛮好,你一点也不要惊讶,后来这个论坛还卖给了阿里。面向过程的php,成就了无数小的站点。
后来是一个框架辈出的阶段,phper们终于也有了跟java一样的mvc,待遇也慢慢接近于java了。大家明白了一件事,大项目,得有点高深的学术内涵才能忽悠的住。opp也更加规范了,你能找到的设计模式,php全都有,于是phper放言:你还敢说php不高级, 不入流? 而实际上,设计模式,真正能用到的就那么一两个。对于解析性语言,我只能,呵呵。
归结一下,php,我觉得更像屌丝逆袭。 然后,笑的人有两种,一种是屌丝的自嘲,另一种是高富帅的妒忌。
网友H
先说一下php的优点:
跟py相比,它不需要django之类的库,原生就支持web。小白们不需要配置什么东西,门槛就低了。而且php的语法是类C的,函数命名大部分也是类C的,大部分码农在学校或多或少都学过C/C++,接触php肯定要比py顺手。
跟java相比,支持php的主机显然更多。云主机兴起之前,是个虚拟主机都是lamp,都支持php。而虚拟主机是最便宜的解决方案,也就是说随便租个虚拟主机就能跑php的网站,成本就低了。
我个人认为没有什么最好的语言,只有最合适的语言。php之所以在web2.0的时代异军突起,击败了py,原因跟php坑不坑没有关系,跟契机有关系,跟他在那个环境下合不合适有关系。把php的流行归功于什么最好的语言简直是胡扯,也是没动脑子。
网友H
大部分敢于说自己是最好的语言的语言,至少有一部分人是真这么认为的。
比如说C语言最好的,最差最差也有一部分C语言核心开发者有信心这么说。
但是PHP语言是一个连开发者都不敢‘声称是最好的语言’的语言。
这是不言自明的公设,不需要证明。
小圈子有个笑话。
会不会用PHP是有一个明确判断标准的:
只有觉得PHP是个烂语言,才有资格说“我会PHP”。
如果你连PHP有多烂都感觉不出来,请别说“我会PHP”“我会编程”。
网友J
因为php算不上一种语言。就好像说“射钉器是世界上最好的武器”一样。
㈤ php鏄涓栫晫涓婃渶濂界殑璇瑷
php涓嶆槸涓栫晫涓婃渶濂界殑璇瑷锛岃繖鍙ヨ瘽鏄涓涓姊椼傛槸鐢ㄦ潵鍢茶界▼搴忓憳鎶链杈冨樊锛屾瘆杈冨埯绾э纴鎴栬呭彧锽勪簬锅氶敭鐩树緺锛岃屾病链夌湡链浜嬨
PHP璇嶈𨱒ユ簮锛氩洜涓篜HP涓婃坠姣旇缉绠鍗曪纴𨰾ヨ陡浼楀氾纴鍙堟槸镞╂湡浜掕仈缃戠殑閲嶈佹湇锷$璇瑷銆傛墍浠ュ湪钖勪釜绀句氦骞冲彴涓婃椂甯歌兘瑙佸埌璁ㄨ猴纴鐢氲呖钖规崸PHP镄勬枃绔犮傚叾涓闅惧厤链夋妧链杈冨樊锛屾垨璁ょ煡涓嶅埌浣岖殑鍒濈骇绋嫔簭锻樸傚洜姝よ粹淧HP鏄链濂界殑璇瑷钬濅究鎴愪简涓鍙ュ弽璁界殑绗戣皥銆
镓╁𪾢璧勬枡
php浼樼偣锛
1銆佹祦琛岋纴瀹规槗涓婃坠
PHP椹卞姩鍏ㄧ悆瓒呰繃2浜垮氢釜缃戠珯锛屾湁鍏ㄧ悆瓒呰繃81.7%镄勫叕鍏辩绣绔椤湪链嶅姟鍣ㄧ閲囩敤PHP銆侾HP甯哥敤镄勬暟鎹缁撴瀯閮藉唴缃浜嗭纴浣跨敤璧锋潵鏂逛究绠鍗曪纴涔熶竴镣归兘涓嶅嶆潅锛岃〃杈捐兘锷涚浉褰撶伒娲汇
2銆佷粛铹跺湪涓嶆柇鍙戝𪾢
PHP鍦ㄤ笉鏂鍏煎圭潃绫讳技closures鍜屽懡钖岖┖闂寸瓑鎶链锛屽悓镞跺吋椤炬ц兘鍜屽綋涓嬫祦琛岀殑妗嗘灦銆傜増链鏄7涔嫔悗锛屼竴鐩村湪鎻愪緵镟撮珮镐ц兘镄勫簲鐢ㄣ
鍙傝冭祫鏂欐潵婧愶细锏惧害锏剧-PHP
鍙傝冭祫鏂欐潵婧愶细锏惧害锏剧-PHP鏄链濂界殑璇瑷
㈥ 为什么说PHP是世界上最好的语言
部署简单
很多其他行业的公司,希望有一个网站,他们并没有多少预算在网站上,可能只是随便买了一个虚拟主机,这时恐怕最好的选择就是 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 开发。