为什么要使用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 的优点
动态化特点
file
PHP 和 HTML 可以非常融洽地工作在一起。将 file.html 修改为 file.php ,即可在 <?php 和 ?> 标签里编写 PHP 代码,并且大部分的 Web 服务器默认配置就是可以直接运行 PHP 脚本。正因为其门槛非常低,不需要懂太多编程知识的菜鸟程序员也可以直接上手操作,以至于产生了很多低品质的代码。

因为其易学性,大量的菜鸟程序员涌入,暴露出来另一个 PHP 一直被人诟病的问题:PHP 并没有对自己是最好的 Web 服务器端语言有清晰的远景,当然也没为此做过太好的设计。导致走向了另一个结果,来自全球各地松散的合作,大杂烩般地贡献代码和想法,难以避免地,有一些坏的想法渗入其中。

拥有强大的面向对象包管理是现在 PHP 中的一种标准
file
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。它非常的好用,并且不容忽视的一点是它可以方便地引用优质且维护良好的库,具有很高的易用性。

作者:summerbluet
链接:https://www.jianshu.com/p/310cd77b61e5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术学习分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值