Php 简明教程

PHP - Syntax

PHP 的语法规则与 C 语言非常相似。PHP 是一种服务器端脚本语言。PHP 代码存储为扩展名为“php”的文本文件。PHP 文件本质上是一个网页,内容是穿插在 HTML 脚本中的一个或多个 PHP 代码块。但是,它必须在浏览器中使用 HTTP 协议 URL 打开。也就是说,如果您双击 PHP 文件图标,它将使用文件协议在本地打开。例如,如果您在 Apache 服务器的文档根目录中打开“index.php”文件,它可能只显示 PHP 代码文本。但是,如果您启动 Apache 服务器并打开 URL http://localhost/index.php ,它将显示 Apache 主页。

“php”文件可能包含 HTML、CSS 和 JavaScript 代码块以及 PHP 代码。因此,PHP 解析器必须区分出 PHP 代码和其他元素。当在网络浏览器中打开“php”文件时,HTML 引擎会呈现 HTML/CSS/JavaScript 部分,并在遇到包含在 PHP 标记内的语句时即退出 HTML 块。PHP 解析器解释器处理此块并向浏览器返回响应。

php syntax

PHP 定义了使用标记来让 PHP 代码脱离 HTML 的两种方法。标准 PHP 标记和短标记(SGML 样式)。

Canonical PHP Tags

通用最有效的 PHP 标记样式为 −

<?php
   One or more PHP statements
?>

如果您使用此样式,则可以确信您的标记将始终被正确解释。

Short-open (SGML-style) Tags

短标记或短开标记看起来像这样 −

<?php
	One or more PHP statements
?>

顾名思义,短标记是最短的选项。您必须执行两件事之一,以使 PHP 能够识别标记 −

  1. 在构建 PHP 时选择“--enable-short-tags”配置选项。

  2. 将 php.ini 文件中的“short_open_tag”设置设为打开。

short_open_tag=on

必须禁用此选项才能使用 PHP 解析 XML,因为 XML 标记使用相同的语法。

ASP-style tags

<%...%>

HTML script tags

<script language = "PHP">...</script>

的使用已被停止。

Escaping from HTML

PHP 解析器忽略开闭标记对之外的所有内容。因此,PHP 文件可以具有混合内容。这允许在 HTML 文档中嵌入 PHP −

<p>This is a HTML statement</p>
<?php echo This is a PHP statement.'; ?>
<p>This is another HTML statement.</p>

下面展示了使用条件脱离的稍高阶示例 −

<?php if ($expression == true): ?>
   This HTML statement will be rendered.
<?php else: ?>
   Otherwise this HTML statement will be rendered.
<?php endif; ?>

PHP 跳过不满足条件的块,即使它们在 PHP 打开/关闭标记之外。

对于输出大块文本,退出 PHP 解析模式通常比通过 echo 或 print 发送所有文本更有效率。

Basic Syntax of PHP

PHP 的基本语法与 C 和 C++ 的语法非常相似。

Statements are expressions terminated by semicolons

PHP 中的语句是后面紧跟一个分号 (;) 的任何表达式。任何被 PHP 标记括起来的有效 PHP 语句序列都是有效的 PHP 程序。

以下是在 PHP 中一个典型的语句,在这个案例中它给一个叫做 “$greeting” 的变量分配一个字符串 −

$greeting = "Welcome to PHP!";

文本编辑器中的一个物理行在 PHP 代码中没有任何意义。一行中可能会包含多个以分号结尾的语句。另一方面,如果需要的话,一个 PHP 语句可以溢出到多行。

Expressions are combinations of tokens

PHP 最小的构建块是不可分割的标记,诸如数字 (3.14159)、字符串 (“two”)、变量 ($two)、常量 (TRUE) 以及构成 PHP 自身语法的特殊单词,诸如 “if”、“else”、“while”、“for” 等。

Braces make blocks

尽管不能将语句像表达式那样组合,但你总可以通过将它们括在一对花括号中,将语句序列放在任何可以放置语句的位置。

这里,以下两个语句是等价的 −

if (3 == 2 + 1)
   print("Good - I haven't totally lost my mind.");
if (3 == 2 + 1) {
   print("Good - I haven't totally");
   print("lost my mind.");
}

PHP is case sensitive

PHP 是一种大小写敏感的语言。各种 PHP 标识符的名称(诸如变量、函数、类等)都是大小写敏感的。结果是变量 “$age” 不同于 “$Age”。同样,一个名为 “myfunction()” 的函数不同于另一个名为 “MyFunction()” 的函数。