什么是PHP?为什么用PHP?有谁在用PHP?


什么是 PHP?

PHP 是一种脚本语言, "PHP Hypertext Preprocessor" 的首字母缩略词 PHP 语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.
PHP 是由Rasmus Lerdorf于1995年创建的, 1997年以色列的两位工程师Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器。 PHP 是一种被广泛使用的开源脚本语言
PHP 脚本在服务器上执行
PHP 是开源的,没有成本,可供免费下载和使用
PHP 是一门令人惊叹的流行语言,是网络上最大的博客系统的核心(WordPress), 足以运行最大的社交网络(facebook), 它的易用程度足以成为初学者的首选服务器端语言!

什么是 PHP 文件?

PHP 文件的后缀是 ".php"
PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码
PHP 代码在服务器上执行,而结果以纯文本返回浏览器

PHP 能够做什么?

PHP 是服务端脚本语言,主要功能就是编写网站程序或接口程序
PHP 能够生成动态页面内容
PHP 能够提供接口,供Android和iOS平台调用
PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件
PHP 能够接收表单数据
PHP 能够向浏览器发送并取回cookies, 能够在服务器存储和读取Session
PHP 能够与数据库配合,完成添加、删除、修改数据库中的数据
PHP 能够限制用户访问网站中的某些页面
PHP 能够对数据进行加密
通过 PHP,您可以不受限于只输出 HTML。您还能够输出图像、PDF 文件、甚至 Flash 影片。您也可以输出任何文本,比如 XHTML/XML/JSON。

为什么使用 PHP?

PHP 运行于各种平台(Windows, Linux, Unix, Mac OS X 等)
PHP 兼容几乎所有服务器(Nginx, Apache, IIS 等)
PHP 支持多种数据库, 比如:MySQL/MariaDB, SQLite, MongoDB, ProgresSQL, Redis等
PHP 是开源的、免费的。请从官方 PHP 资源下载:www.php.net
PHP 易于学习,并可高效地运行在服务器端
PHP 是目前最全球最流行的服务器端语言(截止到2021年有80%的网站在使用)

谁在使用 PHP ?

国外的有Facebook、维基百科等
国内的有腾讯、百度、阿里巴巴、新浪、微博、凤凰、网易等

我们可以看 w3techs.com 网站的统计,在网站的服务器端,使用PHP的占81.7%, 使用ASP.NET的占16.1%, 使用Java 的占3.0%, 使用静态文件(static files )的 占 1.6%, 剩下的使用 ColdFusion 0.7%, Ruby 0.6%, Perl 0.5%, Python 0.2%, JavaScript 0.2%, Erlang 0.1%, Miva Script 0.1%。(数据来自 W3Techs.com, 12 December 2015)

Usage of server-side programming languages for websites
PHP is used by 81.7% of all the websites whose server-side programming language we know.
http://w3techs.com/technologies/overview/programming_language/all

为什么很多人说PHP不适合开发大型网站?

这是很老的说法,现在已经不靠谱。现在PHP在安全、性能等方面已经有了很大的提高,尤其是PHP7的发布,PHP已经有了质的飞越。已经有很多的大型网站都是使用了PHP开发的。在网站做大做强的过程中,也不在单纯只依赖一种语言,而使多种语言配合使用,比如某公司的网站的后台管理系统和接口使用PHP开发,脚本采用Python开发,页面采用JavaScript调取HTTP接口的方式, 客户端使用Java(Android平台)和Objective-C(iOS平台)等。

(1) 说PHP没有命名空间: PHP在已经PHP5.3中引入了命名空间
(2) 不一致的函数命名规则: 这个是由于历史原因造成的, 如果是处女座的那就没办法了。
(3) PHP缺少标准框架: PHP框架众多,你可以选择一个合适的框架,或者自己写一个。
(4) 安全性要求极高的网站不适合,你可以打开一些银行的网站和移动联通的网站,他们都是用JSP语言开发:
个人感觉安全性和编程语言关系不是很大,到是和开发人员的关系很大。借用贴吧网友的一句话"不是程序适不适合搞大网站,而是你自己合不合适做大网站"。
PHP主要还是Nginx/Apache、MySQL/Redis/MongoDB等配合的好一些。
一个网站使用什么语言看的是他们技术总监会什么语言。
招商银行、携程使用的是ASP.NET。

PHP是最好的语言吗?

哈哈,笑笑就得了,何必这么认真呢?没有最好的语言,只有最合适的语言。


相關推薦

2022-10-27

验证json通信格式,并且减少拒绝服务攻击的攻击面。 为什么要集成 使用json_decode做验证的缺点 json_decode会生成ZVAL(数组、对象等),这将占用内存并处理,如果仅仅是为了验证是否是有效的json字符串,不需要这样做。 使

2021-12-20

这个千年的最初几年,我对 PHP 有了热情,并意识到没有什么挑战是 PHP 无法解决的。” PHP 的灵活也有弊端,Michelangelo van Dam 指出,当人们随心所欲,没有所谓“单一方式”做事时,每个人都可以拿起这门语言并声称他们是 PH

2022-05-10

PHP 社区 4 月底通过了一项只有一张反对票的提案,提案内容是在即将发布的 PHP 8.2 中,不再支持使用 ${} 在字符串中插入变量的语法(标记为弃用状态),并在 PHP 9 删除该语法。 目前 PHP 可通过以下方式在带有双引号 (")和 h

2022-11-11

常不同的世界。 报告探讨了“开源对世界真正产生了什么样的影响,它是如何改变企业的?” 这一问题,并发现了三个值得关注的大趋势: 开发人员在 2022 年大量使用 Hashicorp 配置语言 (HCL)、Shell 和 Go 编程语言,这表

2023-01-12

动化测试解决方案。 下载链接 源码安装包下载 php5.4_5.6    php7.0    php7.1    php7.2_7.4    php8.0 Windows 一键安装包 经典64位     新版64位(升级了安装界面的交互)

2023-06-10

制服务。基本的理念是为了更好的开发体验。 虽然没有什么根据,但是更好看的后台能够让开发人员更高效的工作。基于这种理由,ulthon_admin开发了多套特效皮肤: 标准 原型 科幻 GTK 像素 WIN7 现在又发布了一套拟

2021-12-14

新功能 #304 - 增加对 PHP 8.1 初始化器中新功能的支持PHP 8.1 在初始化器中引入了新功能,Phake 4.2 现在可以使用此功能创建对象的模拟。#303 - 增加对 PHP 8.1 交集类型和 never 返回类型的支持PHP 8.1 引入了交集类型和 never 返回类

2022-10-03

CakePHP 是一个运用了诸如 ActiveRecord、Association Data Mapping、Front Controller 和 MVC(model–view–controller) 等著名设计模式的开源 Web 框架。CakePHP 用 PHP 编写,以 Ruby on Rails 的概念为模型,并在 MIT 许可下进行分发。 CakePHP 4.4.6 已发布

2023-11-24

理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。 禅道官网:https://www.zentao.net 禅道18.9发布啦,本次发布主要是引入了禅道AI聊天功能。通过后台配

2023-12-21

一周更新很多,重构了HTTP/2模块,通过压力测试目前没有什么问题。 经过两位社区网友完善支持Windows下MSVC支持,目前MSVC可以开启asan模块,Windows用户可以直接使用MSVC。 为了符合监管要求,添加了ip转地址模块,可以详细到市

2023-12-06

phpy 是识沃团队最新推出的开源项目,目标是为 PHP 引入 Python 生态,来弥补 PHP 生态的空缺和不足。phpy 使得 PHP 可以调用所有 Python 的包。 包括当下非常流行的 PyTorch、transformers、Ten

2023-03-18

PHPUnit 是一个轻量级的 PHP 测试框架。它是在 PHP5 下面对 JUnit3 系列版本的完整移植,是 xUnit 测试框架家族的一员 (它们都基于模式先锋 Kent Beck 的设计)。 PHPUnit 10 现已发布,这是 PHPUnit 项目历史上最重要的版本。此版本之于 PHPU

2024-03-16

新的UI库,禅道20版本使用自主开发的ZUI3前端框架,无论是交互体验和开发效率都有质的飞跃;全新的 ZIN 页面开发模式,通过配置的方式按需调用前端组件,实现了页面的快速开发,大幅提升了开发效率,全新的扩展机制,更

2021-11-11

返回的是一个随机数,在这道题中,不需要清楚返回的是什么内容,我们只要知道返回的是一串数字就可以了。传入两个参数a和b,要求传入的是字符串,b会经过md5加密。最后要让a.a.r == b。因为是弱类型比较,且只能传入字