php是什么_php能做什么

php是什么

PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到    HTML中,尤其适合 web 开发。

以上是一个简单的回答,不过这是什么意思呢?请看如下例子:

示例 #1 一个介绍性的范例

<html>
  <head>
    <title>Example</title>
  </head>
   <body>      
<?php      
echo "Hi, I'm a PHP script!";      
?>
  </body>
</html>


请注意这个范例和其它用 C 或 Perl    语言写的脚本之间的区别——与用大量的命令来编写程序以输出 HTML    不同的是,PHP 页面就是 HTML,只不过在其中嵌入了一些代码来做一些事情(在本例中输出了    "Hi, I'm a PHP script!")。PHP    代码被包含在特殊的起始符和结束符 <?php 和    ?> 中,使得可以进出“PHP 模式”。

和客户端的 JavaScript 不同的是,PHP    代码是运行在服务端的。如果在服务器上建立了如上例类似的代码,则在运行该脚本后,客户端就能接收到其结果,但他们无法得知其背后的代码是如何运作的。甚至可以将    web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么。

使用 PHP 的一大好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。当看到    PHP 长长的特性列表时,请不要害怕。可以很快的入门,只需几个小时就可以自己写一些简单的脚本。

尽管 PHP    的开发是以服务端脚本为目的,但事实上其功能远不局限与此。请继续读后面的章节,在“PHP 能做什么”一节中将获得更多的信息。如果对    web 编程感兴趣,也可以阅读简明教程。

PHP能做什么

PHP主要是用于服务端的脚本程序,因此可以用PHP 来完成任何其它的CGI程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收Cookies。但 PHP 的功能远不局限于此。

PHP 脚本主要用于以下三个领域

服务端脚本

这是 PHP最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:PHP解析器(CGI 或者服务器模块)、web服务器和 web 浏览器。

需要在运行web服务器时,安装并配置完PHP后,可以用 web 浏览器来访问PHP程序的输出,即浏览服务端的PHP页面。如果只是实验PHP编程,所有的这些都可以运行在自己家里的电脑中。     

命令行脚本

可以编写一段 PHP脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要PHP解析器来执行。这种用法对于依赖cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅 PHP 的命令行模式以获取更多信息。

编写桌面应用程序

对于有着图形界面的桌面应用程序来说,PHP或许不是一种最好的语言,但是如果用户非常精通PHP,并且希望在客户端应用程序中使用 PHP的一些高级特性,可以利用 PHP-GTK来编写这些程序。用这种方法,还可以编写跨平台的应用程序。PHP-GTK是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。如果对 PHP-GTK感兴趣,请访问http://gtk.php.net/以获取更多信息。     

PHP的运行环境

PHP 能够在所有的主流操作系统上使用,包括 Linux、Unix的各种变种(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft    Windows、Mac OS X、RISC OS 等。今天,PHP已经支持了大多数的 web    服务器,包括 Apache、Microsoft Internet Information  Server(IIS)、Personal Web Server(PWS)、Netscape 以及    iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd    等。对于大多数的服务器,PHP 提供了一个模块;还有一些    PHP 支持 CGI 标准,使得 PHP 能够作为 CGI 处理器来工作。

综上所述,使用 PHP,可以自由地选择操作系统和 web服务器。同时,还可以在开发时选择使用面对过程和面对对象,或者两者混和的方式来开发。尽管PHP 4 不支持 OOP 所有的标准,但很多代码仓库和大型的应用程序(包括  PEAR 库)仅使用 OOP 代码来开发。PHP 5 弥补了 PHP4 的这一弱点,引入了完全的对象模型。

使用 PHP,并不局限于输出 HTML。PHP    还能被用来动态输出图像、PDF 文件甚至 Flash 动画(使用 libswf 和Ming)。还能够非常简便的输出文本,例如 XHTML    以及任何其它形式的 XML 文件。PHP    能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。

PHP支持大范围的数据库

PHP 最强大最显著的特性之一,是它支持很大范围的数据库。使用任何针对某数据库的扩展(例如 mysql)编写数据库支持的网页非常简单,或者使用抽象层如 PDO,或者通过ODBC扩展连接到任何支持 ODBC 标准的数据库。其它一些数据库也可能会用 cURL或者 sockets,例如 CouchDB。

PHP支持的协议服务

PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows    环境)等不计其数的协议的服务。还可以开放原始网络端口,使得任何其它的协议能够协同工作。PHP 支持和所有 web 开发语言之间的 WDDX复杂数据交换。关于相互连接,PHP已经支持了对Java对象的即时连接,并且可以透明地将其用作PHP对象。

PHP文本处理特性

PHP 具有极其有效的文本处理特性,包括 Perl兼容正则表达式(PCRE)以及许多扩展和工具可用于解析和访问 XML 文档。PHP 将所有的 XML功能标准化于坚实的 libxml2 扩展,并且还增加了SimpleXML,XMLReader    以及 XMLWriter 支持以扩充其功能。

PHP扩展库

另外,还有很多其它有趣的扩展库,在此根据字母和分类归类列出。还有一些附加的 PECL扩展可能有也可能没有在 PHP 手册中列出,例如 » XDebug。

由于在这里无法列出 PHP所有的特性和可提供的便利,请参阅安装以及函数参考有关章节以获取关于这里提到的扩展库更多的信息。