我们还会继续运用PHP的缘由
【相关学习引荐:php图文教程】
我们来单刀直入地说。 PHP 是一门奇葩的说话。它既不快,语法又不美丽。还没有遵照良好的软件开发实践。 但我还是使用它开发了许多软件。 那么问题就很明显了 为什么今天还在使用 PHP ?
除了个人抱负主义的偏好之外,还有许多理由。这才是我们要计议的范畴。为什么选 PHP 作为我的 Web 开发说话?
PHP 是啥?
「PHP 代表什么意思?」 或者这么问,「PHP 是啥?」 PHP 是一门编写 web 页面的说话,底层使用 C 说话实现,使用 HTML 的标签语法包裹代码。PHP 平常跑在效劳端,与 web 效劳器配合工作,负责把 HTML 加工完返回给拜访者。
PHP 最初的意思是 「 Personal Home Page 」。由于这完全限制了使用该说话停止一样使用的意义和可取性,所以该说话此刻代表「 PHP:Hypertext Preprocessor」。这种写法被称为递归缩写(一种全称中援用本人的缩写)。 极客们都喜爱用这种名字。
PHP 能做什么?
PHP 能用来做什么?平常来说 PHP 能做任何你想在 web 效劳器上实现的东西。 比方说做一个博客。实现一个 SAAS 利用也完全不在话下。写一个暂时处置数据的足本也是得心应手。又或者写了一个复杂的足本,某一天忽然变成了一门成功的软件业务?过去也经常发生。
假如你不信赖我,可以看下 PHP 官网列出使用处景:
- 效劳端足本
- 命令行足本
- 编写桌面利用
我不太激励最后一项,但它确实可行。但是前两项确实是很棒的理由 。
这就引出了一个重要且没法回避的事实...
PHP 无所不在
理解和爱好 PHP 的理由有非常多,大概最给力和有效的理由是:它可以在网络的任何地方使用和运转。假如你细心寻觅,你买到每月最低3美圆的托管账户大概可以运转 Python 或 Ruby 的 Web 利用程序。但它必定能运转 PHP 。这意味着不管什么时候你都可以依靠 PHP 。
由于 PHP 可以运转在任何地方,并且它容易上手,许多非常受欢迎的软件都是用 PHP 写的。 WordPress 是对我影响最大和最熟知的例子,除此之外,像 Joomla , Drupal , Magento , ExpressionEngine , vBulletin (是的,它依然存在), MediaWiki 等这些工具,它们都在效劳器上运转 PHP 。
不仅如此,PHP 利用框架更是多得不计其数, 比方:Symfony , Zend , Laravel , Aura , CakePHP , Yii 乃至是古老的 CodeIgnitor 框架。当然你可认为其它任何一门说话制作一些长度相当的 Web 框架列表。比方常用的 Web 说话像 Python , Ruby ,或 Node/JavaScript ,你乃至可以积存一个数字竞争列表来跟 PHP 比力。但运转 PHP 的网站数目巨大到没法估量。
WordPress 自豪地声称在互联网上有 30% 的会员量。 你乃至不需要信赖这个说法就会意识到很多的互联网利用必需使用 PHP 即便这个说法乃至可以想象成是真的。
PHP 的长处
动态化特点
PHP 和 HTML 可以非常融洽地工作在一起。将 file.html
修改为 file.php
,即可在 <?php
和 ?>
标签里编写 PHP 代码,并且大部分的 Web 效劳器默许配置就是可以直接运转 PHP 足本。正由于其门槛非常低,不需要懂太多编程知识的菜鸟程序员也可以直接上手操纵,以至于发生了许多低品质的代码。
由于其易学性,大量的菜鸟程序员涌入,显露出来另一个 PHP 不断被人诟病的问题:PHP 并没有对本人是最好的 Web 效劳器端说话有清楚的前景,当然也没为此做过太好的设计。致使走向了另一个结果,来自环球各地松懈的合作,大杂烩般地奉献代码和设法,难以幸免地,有一些坏的设法渗透其中。
具有强大的面向对象保证理是此刻 PHP 中的一种标准
Composer 是 PHP 的加分项。
在 PHP 的开发中,经常会有一些奇葩的东西被公布出来。最闻名的栗子当属 PHP 5.3 (广泛的被视为 PHP 的第一个现代化版本 )中引入 goto
声明。
相似的问题是在 PHP 成长历程中发生:面向对象最初是作为一个有缺陷和有限制的概念来实现的,标准库中充满了不一致的名称和参数排序,并且(举个近来备受关注的栗子)在 PHP 5.3 中 ::
操纵符没法识别时,解析器会抛出可读性很差的报错信息:语法错误 (T_PAAMAYIM_NEKUDOTAYIM)
,假如不看文档,你能用英文来懂得这个 T_PAAMAYIM_NEKUDOTAYIM
标示的意思吗?
但是此刻,PHP 已经完全支撑 OOP。很少说话具有像 PHP 这样相似 Java 的 OOP 实现。别的,与 Java不一样的是,PHP 有一个独自的并具有广泛支撑的保证理器,叫作 Composer。它非常的好用,并且不容无视的一点是它可以利便地援用优良且保护良好的库,具有很高的易用性。
PHP 的高速开展
通过这些事实发明, PHP 正在以有味的方式开展着。它正逐步成为像java一样功效齐全的面向对象说话(更好或更糟糕),正在为函数式编程供给简便的抽象,这可以说是当前的热点。并且,正在开展一套非常棒的工具, PHP 喜爱 Composer , 并有充分的理由 --- 由于它在一些大型开源项目的协同工作上做出了值得赞美的努力.
当然,我们不该该健忘当前的热点:PHP 在 PHP7 系列版本中的开展取得了速度上的晋升。这被广泛认为是由 Facbook 显现的 HHVM 引发的,在短时间内,存在 HHVM 的开展速度会毁坏 PHP 社区的风险,但事实并非如此,相反,PHP 的开展速度快得多,以至于人们几乎健忘了 HHVM 的存在。
PHP 有一个宏大的社区;它对新手友好。
假如你决议使用什么很酷的新技术,我认为经常得到很少关注的是与说话达成和谈的方式。学习PHP是啥感受? PHP教程很好寻,质量平常也很好。
PHP流行的一个缺陷是,你会从那些对工具不足理解的人那里寻到一些不那么好的教学。或者从某人那里学到的“最好实践”是十年前的。但总的来说,这很少见,我不认为它应当让你悲观。或者忽然发明本人使用了几个月的最好实践并不是最好的是很少见的,也不是一个大问题。
PHP 与其他说话的比力
接下来我们要对照下 PHP 与其他的说话,这些说话需知足以下要求:
开源:意味着你可以自在、免费地使用或者查看底层说话或者程序;
利用于 Web 开发领域:不必然是专心于 Web 开发,但是在 Web 开发中有比力大的利用;
高阶动态说话:具备动态说话的特性,大部分面向 Web 利用的说话兼具此特性;
足够大的社区:有许多知足以上前提,但是只是在小范畴使用的说话,我们使用这最后一个前提将他们过滤掉。
为什么使用 PHP?而不是 JavaScript?
或许和 PHP 比力的最重要的说话是 JavaScript。现代开发要求每个项目都至少会一点 JavaScript 来停止客户端开发和交互。借助 Node,这使得在效劳器上使用 JS 变得相对简便。在效劳器上和客户端“同构”使用雷同的说话非常吸引人。
犹如 PHP,JavaScript 是一个兼容并蓄但有时丑陋的说话,有许多的瑕疵和“圈套”,但 JavaScript 在过去十年变得非常快,所以他的状况是真实的。为什么选中 PHP 而不是 JavaScript?你已有专业知识或者在 PHP 使用库。不然,我认为 JavaScript 或许是个更好的选中。
PHP 对照动态效劳器页面 (.Net Core)
动态效劳器说话起源于一个用于网友编程的 Microsoft 说话。他和 PHP 非常直接类似。但他运转在 Windows 效劳器环境。这被 ASP.net 代替了。此刻已被 ASP.NET Core 代替。后两者此刻是 PHP 一样的开源说话。而我个人从没有在任何变体中写过一点 ASP。
假如我使用且更喜爱 Microsoft 效劳器的话,我会更喜爱 ASP。其他状况,请给我 PHP。两者社区的规模和大小没有可比性。
我应当使用 Ruby 还是 PHP?
Ruby,特殊是 Ruby on Rails,在过去十年前 非常 受欢迎。Ruby 仍然是一个备受爱好的说话,这在我看来他比 PHP 文雅。也就是说,他的社区较小。同时我认识到 Ruby 已经不再是 "热门说话"(被 JavaScript 代替了此角色)。Ruby 的文雅,并且有足够多的人擅长使用,因此我不会幸免他。但聘请已熟知 Ruby 的人照旧比聘请 PHP 要难。(虽然我认为一样的 Ruby 开发者水平比雷同的 PHP 开发者要高。)
Python vs PHP:谁更好一些?
最后一种与 PHP 一对一比力起来成心义的是 Python 。 Python 的使用处景要更多,相关于专心于 web 开发的 PHP 来说(特别是在数据统计与剖析上面)。并且人们遍及都觉得它是一种更为更不乱和文雅的说话。
就像 Ruby 和 JavaScript 一样, Python 在效劳器上运转要比 PHP 轻微费事一点。但是它是一种非常完善的说话,并且比起 PHP 的使用更具多样化,我认为它是比 PHP 更流行的说话之一,并且在其他方面(例如:各种第三方的库、专业技术知识的猎取、聘请求职)都是一样的。
PHP vs Go 说话?Scala说话?Java说话?等等
一开端曾提到过,很多说话在做比力时或多或少会有一些类似的地方。这里有许多的说话可以拿来做对照,因此简便的聊几个:
java 非常受欢迎,并且效力很高。平常被用来搭建安卓利用程序,桌面利用程序,和 web 端利用。不外,它不是动态类型的,它有更好的机能包管,但很适合Web 编程。
Go 是 Google 支撑的正在开展的一门新说话。它专心 web 效劳。但是这块比拟 PHP 还是有些不足(更像 C 说话),它的施行速度很快,但是社区相对有限。
Scala 是一种流行的运转在内存区(Java 兼容)的说话,也好像越来越受欢迎。它比 PHP 设计的更文雅,但是除此之外,好像没有更多了。
此外,我觉得这些剖析足够可以做出选中了,但是你有更多的选项可以去考量,不外最后我的替换方案将会思考 PHP。
需要按需选中编程说话
有了上面的比力,为什么还要使用 PHP ?上文我已经提过了一些 PHP 里坏的设计,有一些我经常性会经历,例如在『查寻类型的函数』里,这些函数needle 和 haystack 次序不一致,在没有代码补全的环境下,我还是会掉坑里。
假如你在构建一个全新的 Web 项目,并且此项目不需要与其他系统交互,并且只要你一个人在工作,你想试试看其他说话,相似 Python 什么的。但是,你需要知道的是,即便是这样的一个项目,还是有许多理由让你选中 PHP。
任何现代化的说话都可以让你构建一个 Web App。每一门说话都有他们不足之处,例如 PHP 就是这样的,PHP 要求你清楚地理解其不足之处,然后才能决策可否要在项目里使用它。但是关于我来说,我依然会选中 PHP 来构建我的 Web 项目,就如 Keith Adams 在其 演讲里 提到的:
PHP 的开发效力真不是一样的高。
假如你有一个 Python 的团队,请使用 Python。假如你有个合伙人熟知 Java,请使用 Java 来编写你的 SaaS 程序。说话,永久都不是最重要的。
相关学习引荐:php编程(视频)
以上就是我们还会连续使用PHP的缘由的具体内容,更多请关注百分百源码网其它相关文章!