## PHP能做什么?
PHP能做任何事。PHP主要用于 服务端的脚本程序,因此可以用PHP来完成任何其他的CGI程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接受Cookies。但PHP的功能远不局限于此 。PHP脚本主要用于以下三个领域:
* 服务端脚本 。这是PHP最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:
PHP解析器(CGI或者服务器模块)、Web服务器和Web浏览器。
需要在运行web服务器时,安装并配置PHP,然后,可以用web浏览器来访问 PHP程序 的输出,即浏览服务端的PHP页面。
* 命令行脚本。可以编写一段PHP脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要PHP解析器来执行。这种用法对于依赖cron(Unix或者Linux环境)或者Task Scheduler(Windows环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。
* 编写桌面应用程序。对于有着图形界面的桌面应用程序来说,PHP或许不是一种最好的语言,但是如果用户非常精通PHP,并且希望在客户端应用程序中使用PHP的一些高级特性,可以利用PHP-GTK来编写这些程序。用这种方法,还可以编写跨平台的应用程序。PHP-GTK是PHP的一个扩展,在通常发布的PHP包中并不包含它。如果对PHP-GTK感兴趣,请访问其[网站](http://gtk.php.net/)以获取更多信息。
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处理器来工作。
<br/>综上所述,使用PHP,可以自由地选择操作系统和web服务器。同时,还可以在开发时选择使用面对过程和面向对象,或者两者混合的 方式来开发。
<br/>使用PHP,并不局限于输出HTML。PHP还能被用来动态输出图像、PDF文件甚至flash动画。还能够非常简便的输出文本,例如XHML以及任何其他形式的XML文件。PHP能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。
<br/>PHP最强大最显著的特性之一,是它支持[很大范围的数据库](http://php.net/manual/zh/refs.database.php)。使用任何针对某数据库的扩展(例如[mysql](http://php.net/manual/zh/book.mysqli.php))编写数据库支持的网页非常简单,或者使用抽象层如[PDO](http://php.net/manual/zh/book.pdo.php),或者通过[ODBC](http://php.net/manual/zh/book.uodbc.php)扩展连接到任何支持ODBC标准的数据库。其它一些数据库也可能会用[CURL](http://php.net/manual/zh/book.curl.php)或者[sockets](http://php.net/manual/zh/book.sockets.php),,例如CouchDB。
<br/>PHP还支持 利用诸如LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows环境)等不计其数的协议的服务。还可以开放原始网络端口,使得任何它的协议能够协同工作。PHP支持和所有web开放语言之间的 WDDX复杂数据交换。关于相互连接,PHP已经支持了对Java对象的即时连接,并且可以透明地将其用作PHP对象。
<br/>PHP 具有极其有效的[文本处理](http://php.net/manual/zh/refs.basic.text.php)特性,包括 Perl 兼容正则表达式([PCRE](http://php.net/manual/zh/book.pcre.php))以及许多扩展和工具可用于[解析和访问 XML 文档](http://php.net/manual/zh/refs.xml.php)。PHP 将所有的 XML 功能标准化于坚实的 [libxml2](http://php.net/manual/zh/book.libxml.php) 扩展,并且还增加了 [SimpleXML](http://php.net/manual/zh/book.simplexml.php),[XMLReader](http://php.net/manual/zh/book.xmlreader.php) 以及 [XMLWriter](http://php.net/manual/zh/book.xmlwriter.php) 支持以扩充其功能。
- 序言
- 简介
- PHP是什么?
- PHP能做什么?
- 基本语法
- 类型
- boolean(布尔型)
- integer(整型)
- float(浮点型)
- string(字符串)
- array(数组)
- object(对象)
- callable(可调用)
- resource(资源)
- NULL(无类型)
- 伪类型
- 类型转换的判别
- 变量
- 基础
- 预定义变量
- 变量范围
- 可变变量
- 来自PHP之外的变量
- 常量
- 语法
- 魔术常量
- 表达式
- 运算符
- 运算符优先级
- 算术运算符
- 赋值运算符
- 位运算符
- 比较运算符
- 错误控制运算符
- 执行运算符
- 递增/递减运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 类型运算符
- 流程控制
- if
- else
- elseif/else if
- 流程控制的替代语法
- while
- do-whille
- for
- foreach
- break
- continue
- switch
- declare
- return
- require
- include
- require_once
- include_once
- goto
- 函数
- 用户自定义函数
- 函数的参数
- 返回值
- 可变函数
- 内部 (内置)函数
- 匿名函数
- 类与对象
- 简介
- 基本概念
- 属性
- 类的自动加载
- 构造函数
- 访问控制(可见性)