PHP 语法
PHP 语法
Section titled “PHP 语法”PHP 脚本通常嵌入在 HTML 文档中。PHP 解释器会执行特殊标签内的代码块,并将输出(通常是 HTML)发送到浏览器。
基本 PHP 标签
Section titled “基本 PHP 标签”PHP 脚本块可以放置在 HTML 文档的任何位置。标准且推荐使用的标签是 <?php ... ?>。
<?php// PHP 代码在此处编写echo "这部分由 PHP 处理。";?>短 echo 标签 <?= ... ?> 从 PHP 5.4 开始可用,对于输出简单表达式很有用。它们等同于 <?php echo ... ?>。
<p>Your username is: <?= htmlspecialchars($username, ENT_QUOTES, 'UTF-8'); ?></p>避免使用短标签 <? ... ?> 和 ASP 风格标签 <% ... %>,因为它们在未来的 PHP 版本中可能被禁用或移除,并损害代码的可移植性。
包含 PHP 代码的文件的默认文件扩展名是 .php。
典型的 PHP 文件包含 HTML 标记和 PHP 代码块的混合:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>My First PHP Page</title></head><body>
<h1>Welcome!</h1>
<p>Today's date is: <?php // 使用推荐的 DateTimeImmutable 类 $today = new DateTimeImmutable(); echo $today->format('Y-m-d'); ?> </p>
<?php // 定义一个变量 $message = "Hello from PHP!";
// 输出变量 echo "<p>" . htmlspecialchars($message, ENT_QUOTES, 'UTF-8') . "</p>"; ?>
</body></html>注意:PHP 语句通常以分号(;)结束。关闭标签 ?> 会自动为块中的最后一个语句补上分号,但显式包含它是个好习惯。如果一个文件只包含 PHP 代码,最好省略关闭标签 ?>,以防止意外的空白输出。
PHP 中的注释
Section titled “PHP 中的注释”注释是 PHP 解释器忽略的代码部分。它们对于解释代码逻辑、文档化功能或临时禁用代码至关重要。
使用注释来:
- 解释代码以某种方式编写的原因,而不仅仅是做了什么。
- 文档化函数、类和复杂算法。
- 为自己或其他开发者留下笔记。
- 在调试期间临时禁用代码行。
PHP 支持 C 风格和 shell 风格的注释:
<?php// 这是一个单行注释
# 这也是一个单行注释(不太常用)
/* 这是一个多行注释块。 它可以跨越多行。*/
// 使用注释来解释复杂部分或留下笔记:$discount = $price * 0.1; // 应用 10% 的折扣
/* 临时禁用代码:if ($userIsAdmin) { // grantAccess();}*/
$x = 5 + /* 15 */ + 5; // 注释可以出现在语句中echo $x; // 输出 10
// 提示:使用 PHPDoc 块 (/** ... */) 来文档化函数和类/** * 添加两个数字。 * * @param int|float $a 第一个数字。 * @param int|float $b 第二个数字。 * @return int|float 两个数字的和。 */function add($a, $b) { return $a + $b;}?>PHP 大小写敏感性
Section titled “PHP 大小写敏感性”PHP 的大小写敏感性规则有时会让初学者感到困惑:
- 不区分大小写: 语言结构(例如
if、else、while、echo、return)、函数名(内置和用户定义)、类名、方法名、关键字以及类型名(例如string、int、array)。 - 区分大小写: 变量名(包括超全局变量,如
$_GET、$_POST)、常量(按照约定,通常以大写字母定义)。类属性也区分大小写。
示例:
<?php// 函数名不区分大小写ECHO "Hello World!<br>";echo "Hello World!<br>";EcHo "Hello World!<br>";
// 变量名区分大小写$color = "red";$Color = "blue";
echo "The car is " . $color . "<br>"; // 输出:The car is redecho "The sky is " . $Color . "<br>"; // 输出:The sky is blue// This would cause an Undefined variable error// echo "The boat is " . $COLOR . "<br>";
// 常量区分大小写define("GREETING", "Hello there!");echo GREETING; // 输出:Hello there!// 这将导致错误(假设 'greeting' 是一个字符串字面量)// echo greeting;?>最佳实践:虽然函数名和类名不区分大小写,但遵循一致的编码标准对于提高可读性和可维护性至关重要。广泛采用的 PSR 标准建议:
- camelCase 用于函数和方法名(
myFunction、calculateTotal)。 - PascalCase(或 UpperCamelCase)用于类名(
MyClass、UserController)。 - 使用下划线的 UPPER_CASE 用于常量(
MAX_USERS、DEFAULT_TIMEOUT)。 - camelCase 或 snake_case 用于变量名(在项目中坚持使用一种风格,
camelCase在现代 PHP 中很常见:$userName、$totalAmount)。
遵守这些约定能让你的代码更容易被他人(以及将来的你)理解。