Skip to content

Commit

Permalink
Update intro.xml
Browse files Browse the repository at this point in the history
  • Loading branch information
mowangjuanzi committed Sep 29, 2024
1 parent 60d3d8a commit 4f2053d
Showing 1 changed file with 38 additions and 55 deletions.
93 changes: 38 additions & 55 deletions chapters/intro.xml
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1fa5c78fa59c402eae86c39a976f2fe98aaa3a9c Maintainer: HonestQiao Status: ready -->
<!-- EN-Revision: 77f5f3b3a8bbe1ad7727201c7603d1419dd7840f Maintainer: HonestQiao Status: ready -->
<!-- CREDITS: gregory, Luffy, mowangjuanzi -->
<chapter xml:id="introduction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>简介</title>
<info>
<titleabbrev>简介</titleabbrev>
<title>PHP是什么并且可以做什么?</title>
</info>

<section xml:id="intro-whatis">
<section xml:id="intro-whatis" annotations="chunk:false">
<title>PHP 是什么?</title>
<para>
<acronym>PHP</acronym>(“<literal>PHP: Hypertext
Preprocessor</literal>”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到
<acronym>PHP</acronym>(“<emphasis>PHP: Hypertext
Preprocessor</emphasis>”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到
HTML中,尤其适合 web 开发。
</para>
<para>
Expand Down Expand Up @@ -38,85 +41,66 @@
</example>
</para>
<para>
请注意这个范例和其它用 C 或 Perl
语言写的脚本之间的区别——与用大量的命令来编写程序以输出 HTML
不同的是,PHP 页面就是 HTML,只不过在其中嵌入了一些代码来做一些事情(在本例中输出了
<computeroutput>Hi, I'm a PHP script!</computeroutput>)。PHP
代码被包含在特殊的<link
linkend="language.basic-syntax.phpmode">起始符和结束符 <code>&lt;?php</code> 和
<code>?&gt;</code></link> 中,使得可以进出“PHP 模式”。
PHP 页面并不包含大量输出 HTML 的命令(如 C 或 Perl 中所示),而是包含嵌入代码的 HTML,这些代码可执行<replaceable>某些</replaceable>操作(在本例中为输出
<computeroutput>Hi, I'm a PHP script!</computeroutput>)。PHP 代码包含在特殊的<link
linkend="language.basic-syntax.phpmode">开始和结束处理指令 <code>&lt;?php</code> 和 <code>?&gt;</code></link>
中,允许跳入和退出 <quote>PHP 模式</quote>。
</para>
<para>
和客户端的 JavaScript 不同的是,PHP
代码是运行在服务端的。如果在服务器上建立了如上例类似的代码,则在运行该脚本后,客户端就能接收到其结果,但他们无法得知其背后的代码是如何运作的。甚至可以将
web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么
代码是运行在服务端的。如果在服务器上建立了如上例类似的代码,则在运行该脚本后,客户端就能接收到其结果,但无法得知底层代码是什么。甚至可以将
web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法知道正在使用 PHP
</para>
<para>
使用 PHP 的最大的好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。当看到
PHP 长长的特性列表时,请不要害怕。可以很快的入门,只需几个小时就可以自己写一些简单的脚本
PHP 长长的特性列表时,请不要害怕。使用 PHP,几乎任何人都可以快速上手并编写简单的脚本
</para>
<para>
尽管 PHP
的开发是以服务端脚本为目的,但事实上其功能远不局限与此。请继续读后面的章节,在“<link
linkend="intro-whatcando">PHP 能做什么</link>”一节中将获得更多的信息。如果对
web 编程感兴趣,也可以阅读<link linkend="tutorial">简明教程</link>。
尽管 PHP 的开发主要侧重于服务器端脚本,但它可以做很多事情。请继续阅读,并在<link linkend="intro-whatcando">PHP
能做什么?</link>章节中了解更多内容,或者直接转到<link linkend="tutorial">简明教程</link>,直接学习 Web 编程。
</para>
</section>

<section xml:id="intro-whatcando">
<section xml:id="intro-whatcando" annotations="chunk:false">
<info><title>PHP 能做什么?</title></info>
<para>
PHP 能做任何事。PHP 主要是用于服务端的脚本程序,因此可以用
PHP 来完成任何其它的 CGI
程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送接收
程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收
Cookies。但 PHP 的功能远不局限于此。
</para>
<para>
PHP 脚本主要用于以下两个领域:
<itemizedlist>
<listitem>
<simpara>
服务端脚本。这是 PHP
最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:PHP
解析器(CGI 或者服务器模块)、web
服务器和 web 浏览器。需要在运行 web 服务器时,安装并配置
PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务端的
PHP 页面。如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。请查阅<link
linkend="install">安装</link>一章以获取更多信息。
服务器端脚本。这是 PHP 使用最广泛、最主要的目标领域。开展这项工作需要具备以下三点:PHP 解析器(CGI
或服务器模块)、Web 服务器和 Web 浏览器。所有这些都可以在本地机器上运行,以便尝试 PHP 编程。有关更多信息,请参阅<link
linkend="install">安装说明</link>部分。
</simpara>
</listitem>
<listitem>
<simpara>
命令行脚本。可以编写一段 PHP
脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要
PHP 解析器来执行。这种用法对于依赖
cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows
环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅 <link
linkend="features.commandline">PHP 的命令行模式</link>以获取更多信息。
命令行脚本。PHP 脚本无需任何服务器或浏览器即可运行,只需 PHP 解析器即可使用。这种方式非常适合使用 <command>cron</command>(在
Unix 或 macOS 上)或任务计划程序(在 Windows 上)定期执行的脚本。这些脚本还可用于简单的文本处理任务。有关更多信息,请参阅有关
<link linkend="features.commandline">PHP 的命令行用法</link>的部分。
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
PHP 能够在所有的主流操作系统上<link linkend="install">使用</link>,包括 Linux、Unix
的各种变种(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft
Windows、macOS、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 可<link linkend="install">用于</link>所有主流操作系统,包括 Linux、许多 Unix 变体(包括 HP-UX、Solaris 和
OpenBSD)、Microsoft Windows、macOS、RISC OS 以及其他操作系统。PHP 还支持当今大多数 Web 服务器。这包括 Apache、IIS
和许多其他服务器。这包括任何可以使用 FastCGI PHP 二进制文件的 Web 服务器,如 lighttpd 和 nginx。PHP
既可以作为模块工作,也可以作为 CGI 处理器工作。
</para>
<para>
综上所述,使用 PHP,可以自由地选择操作系统和 web
服务器。同时,还可以在开发时选择使用面对过程和面对对象,或者两者混和的方式来开发。尽管
PHP 4 不支持 OOP 所有的标准,但很多代码仓库和大型的应用程序(包括
PEAR 库)仅使用 OOP 代码来开发。PHP 5 弥补了 PHP 4 的这一弱点,引入了完全的对象模型。
因此,使用 PHP,开发者可以自由地选择操作系统和 web
服务器。同时,还可以在开发时选择使用面向过程或者面对对象(OOP),或者两者的混和。
</para>
<para>
使用 PHP,并不局限于输出 HTML。PHP 的能力还包含输出富文本类型,比如图像或者 PDF
文件、加密数据和发送邮件。还能够非常简便的输出文本,例如 JSON 或 XML。PHP
能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。
PHP 不仅限于输出 HTML。PHP 的功能包括输出丰富的文件类型,例如图像或 PDF 文件、加密数据和发送电子邮件。还可以轻松输出任何文本,例如
JSON 或 XML。PHP 可以自动生成这些文件,并将它们保存在文件系统中,而不是将其打印出来,从而形成动态内容的服务器端缓存。
</para>
<para>
PHP 最强大最显著的特性之一,是它支持<link
Expand All @@ -127,11 +111,11 @@
或者 <link linkend="book.sockets">sockets</link>,例如 CouchDB。
</para>
<para>
PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows
环境)等不计其数的协议的服务。还可以开放原始网络端口,使得任何其它的协议能够协同工作。PHP
支持和所有 web 开发语言之间的 WDDX
PHP 还支持使用 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows
环境)等协议与其他服务通信,以及其他无数协议。还可以打开原始网络套接字并使用任何其他协议进行交互。PHP
支持几乎所有 web 开发语言之间的 WDDX
复杂数据交换。关于相互连接,PHP 已经支持了对 Java
对象的即时连接,并且可以透明地将其用作 PHP 对象。
对象的实例化,并且可以无缝的将其用作 PHP 对象。
</para>
<para>
PHP 具有极其有效的<link linkend="refs.basic.text">文本处理</link>特性,包括 Perl
Expand All @@ -148,8 +132,7 @@
手册中列出,例如 <link xlink:href="&url.xdebug;">XDebug</link>。
</para>
<para>
由于在这里无法列出 PHP
所有的特性和可提供的便利,请参阅<link
本页不足以列出 PHP 可以提供的所有功能和优点。请继续参阅<link
linkend="install">安装</link>以及<link
linkend="funcref">函数参考</link>有关章节以获取关于这里提到的扩展库更多的信息。
</para>
Expand Down

0 comments on commit 4f2053d

Please sign in to comment.