什么是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是最好的语言吗?

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


相关文章

2021-12-20

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

2022-05-10

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

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 已发布

2022-07-28

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

2022-08-30

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

2021-11-11

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

2022-04-24

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

2022-06-08

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

2022-05-26

Laravel framework 包含  PHP 框架 Laravel 的核心代码,目前更新了 9.14.0 版本,主要更新内容如下: 添加 添加了为 MySQL 和 Postgres 添加表注释的功能 ( #42401 ) 添加了动态废弃工厂状态 ( #42414 ) 添加了 Illuminate/Collections/Arr::

2022-06-08

PhpStorm 2022.2 第二个抢先体验版本(EAP 2)上线啦!该版本依旧带来了一些新功能,下面对这些功能作介绍~ 将多个isset()调用合并为一个 PHP 允许将多个参数传递到一个 isset() 调用中。 尽可能使用 in_array()和array_key_exists() P

2021-11-08

怎么办? 解决办法: 1.要下载THREAD SAFE的,你下载的是NOT THREAD SAFE吧 2.如果是64位系统要下载x64的,x86的不行 ---------------------------------------------------------------------- 配置: # php7 support PHPIniDir "E:/phpEnv/php" LoadModule php

2021-11-30

PHP 8.1 已于上周正式发布,科技媒体 Phoronix 紧随其后发布了针对 PHP 8.1 的性能基准测试报告。 此次测试是在运行 Ubuntu Linux 的 AMD EPYC 72F3 服务器上进行的。所有受测试的版本都是在同一个系统上用相同的软件包和相同的构

2021-11-23

于 12 月 1 日离开 JetBrains。 公告表示,PHP 基金会将是一个非营利组织,其使命是保证 PHP 语言的生命力和繁荣。同时,该基金会将通过 Open Collective 来实现。Open Collective 是一家处理法律和会计方面的基金会服务提供商,Vu