我们 来开宗明义 地说。 ** 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 可以非常
融洽地任务
正在
一起
。将 由于其易学性,少量 的菜鸟步调员涌入,袒暴露来别的一 个 PHP 没有 停被人诟病的题目:PHP 其实没有 对于 本身是最佳 的 Web 效能 器端语言 有清晰的近景 ,固然也没为此做过太好的计划。招致 走向了别的一 个效果,来自环球各地疏松的互助,年夜 杂烩般地贡献 代码以及 设法主意 ,难以克制地,有一些坏的设法主意 渗入此中。 拥有 强大的面向对于 象包办理 是如今 PHP 中的一种尺度Composer 是 PHP 的加分项。 正在
PHP 的开辟中,经常会有一些奇葩的工具
被发布
出来。最著名的栗子当属 PHP 5.3 (普遍
的被视为 PHP 的第一个当代化版本 )中引入 雷同的题目是正在
PHP 发展历程
傍边
发作
:面向对于
象最后
是作为一个出缺
陷以及
无限
定的概念来完成
的,尺度库中充满了没有
一
致的称号
以及
参数排序,而且(举个迩来备受存眷
的栗子)正在
PHP 5.3 中 但是如今,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 与其余 的语言 ,这些语言 需满意如下 要求:
为什么 使用 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语言 ?等等一末了 曾经 提到过,很多语言 正在 做比力时或者 多或者 少会有一些雷同 的中心 。这里有很多的语言 可以拿来做对比 ,因此 简单的聊多少 个:
此外 ,我以为这些分析 富足可以做出决议 了,但是你有更多的选项可以去考量,没有 过末了我的替换方案将会思量 PHP。 必要按需决议 编程语言有了下面 的比力,为什么 还要使用 PHP ?上文我曾经 经 提过了一些 PHP 里坏的计划,有一些我经常性会履历,比方正在 『查找范例的函数』里,这些函数needle 以及 haystack 序次没有 一 致,正在 没有 代码补全的环境下,我还是会失落 坑里。 假如你正在 构建一个全新的 Web 名目 ,而且此名目 没有 必要与其余 体系交互,而且只需 你一集团 正在 任务 ,你想试试看 运限 其余 语言 ,雷同 Python 什么的。但是,你必要晓得 的是,纵然是如许的一个名目 ,还是有很多因由 让你决议 PHP。 任何当代化的语言 都可让 你构建一个 Web App。每 一门语言 都有他们没有 敷之处 ,比方 PHP 就是如许的,PHP 要求你清晰地相识其没有 敷之处 ,然后 才气决议可否 要正在 名目 里使用它。但是关于 我来说,我仍然会决议 PHP 来构建我的 Web 名目 ,就如 Keith Adams 正在 其 演讲里 提到的:
假如你有一个 Python 的团队,请使用 Python。假如你有个合资人认识 Java,请使用 Java 来编写你的 SaaS 步调。语言 ,永久都没有 是最垂危 的。
来源:https://www.jianshu.com/p/310cd77b61e5 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |