详细介绍:PHP基础-语法初步(第七天)
PHP基础-语法初步
一.PHP代码标记
和HTML的文档标签一样 PHP也有一个开始和结束标记
<?php ?>
1.1 Php支持的代码标记写法有哪些?
1. 标准 PHP 标签(推荐)
<?php
// PHP 代码
?>
- 说明:最常用、最标准的写法
- 优点:兼容所有 PHP 版本和配置
- 官方推荐:✅
2. 短标签(Short open tag)
<?
// PHP 代码
?>
- 说明:需要在
php.ini
中开启short_open_tag=On
- 问题:容易与 XML 的
<?xml ?>
冲突 - 不推荐
3. 回声短标签(Short echo tag)
<?= "Hello World";
?>
<
?=
'hello world<br>' .'hello world2<br>' .'hello world3'?>
- 说明:相当于
<?php echo "Hello World"; ?>
- 默认开启:从 PHP 5.4 起,无需额外配置
- 优点:简洁、常用在模板中
- 推荐:✅
结果如图:
4. ASP 风格标签(ASP-style tag)
<
%
// PHP 代码
%>
- 说明:ASP 风格,需要在
php.ini
中开启asp_tags=On
- 注意:PHP 7.0 之后完全废弃
- 不推荐:❌
- ASP 是 Active Server Pages 的缩写,是微软在 1996 年左右推出的一种 服务器端脚本技术,用于在网页上生成动态内容
5. 脚本式标签(Script style, 不常用)
<script language="php">// PHP 代码</script>
- 说明:早期用于 HTML 页面嵌入 PHP
- 兼容性差,几乎不用
- 不推荐:❌
二.从HTML中分离
参考https://www.php.net/manual/zh/language.basic-syntax.phpmode.php
凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略,这使得 PHP 文件可以具备混合内容。 可以使 PHP 嵌入到 HTML 文档中去,如下例所示。
<p>This is going to be ignored by PHP and displayed by the browser.</p><?php echo 'While this is going to be parsed.';?><p>This will also be ignored by PHP and displayed by the browser.</p>
结果如下图
三.注释
参考https://www.php.net/manual/zh/language.basic-syntax.comments.php
3.1 行注释-//|#
<?php
echo 'This is a test';
// 这是单行 c++ 样式注释
/* 这是一条多行注释
另一行也是注释 */
echo 'This is yet another test';
echo 'One Final Test';
# 这是单行 shell 风格的注释
?>
3.2 块行注释-‘/* */’
<?php
echo 'This is a test';
// 这是单行 c++ 样式注释
/* 这是一条多行注释
另一行也是注释 */
echo 'This is yet another test';
echo 'One Final Test';
# 这是单行 shell 风格的注释
?>
常用语函数的功能注释
/**
* @description
* @param {*} name
* @return {*} name
*/
四.php指令分割符
参考https://www.php.net/manual/zh/language.basic-syntax.instruction-separation.php
4.1 php必须每个语句后用分号结束指令吗?
在 PHP 中几乎所有语句都必须以分号 ;
结束,因为分号是 PHP 用来区分语句的标志。
4.1.1. 必须加分号的情况
- 赋值语句:
$name = "Alice";
$age = 18;
- 函数调用:
echo "Hello, world!";
- 控制语句(如
return
、break
、continue
):
return $result;
break;
4.1.2. 可以省略分号的特殊情况
在 PHP 标签的最后一条语句之前,如果紧跟着 ?>
关闭标签,分号可以省略:
<?php
echo "Hello, world!" // 最后这条语句可以省略分号
?>
但是在现代 PHP 开发中,尤其是纯 PHP 文件(可以不写关闭
?>
标签),建议每条语句都加分号,避免出错。
例如
<?php echo 'Ending tag excluded';
4.1.3. 例外:控制结构块
像 if
、for
、while
、foreach
、function
定义等块结构,本身不需要分号,但块内语句仍然要:
if ($age >
18) {
echo "Adult";
// 这里需要分号
}
4.1.4 总结:
- PHP 几乎所有普通语句都必须分号结尾。
- 块结构(函数、循环、条件)本身不需要分号,但块内语句仍然需要。
- 省略分号只在文件末尾紧跟
?>
时才可能,但不推荐这样做,因为现在都是纯php文件并不会嵌入到HTML,通常书写习惯中就不建议使用标记结束符?>,所以文件末尾也要加上分号分割符。
五.VScode 开发插件
1. PHP 语言支持
- PHP Intelephense
- 功能:智能提示、自动补全、函数/类跳转、代码分析、错误提示。
- 使用方式:安装后即可支持大部分 PHP 项目,无需额外配置。
- PHP Debug (by Felix Becker)
- 功能:Xdebug 调试支持,可以设置断点、变量监控、堆栈跟踪。
- 配合 Xdebug 使用,调试 PHP 项目非常方便。
- PHP DocBlocker
- 功能:自动生成 PHPDoc 注释,支持函数、类、变量等注释模板。
- 对于维护大型项目或团队合作非常有用。
2. 代码格式化 & 美化
- PHP CS Fixer
- 功能:代码风格自动修复,支持 PSR-1 / PSR-2 / PSR-12 标准。
- 配合 VS Code
Format Document
可以一键美化代码。
- Prettier - Code formatter
- 功能:多语言统一格式化,包括 HTML、JS、CSS,适合 PHP 项目中前端部分。
3. 辅助开发 & 提高效率
- PHP Namespace Resolver
- 功能:自动导入类、生成
use
语句,尤其在 Laravel 或 Symfony 项目中很有用。
- 功能:自动导入类、生成
- Laravel Blade Snippets / Laravel Extra Intellisense
- 功能:Laravel 开发专用,支持 Blade 模板语法补全和提示。
- Auto Rename Tag
- 功能:修改 HTML 或 Blade 标签时自动修改闭合标签。
- Bracket Pair Colorizer 2(目前已经内置到vscode 可直接配置)
- 功能:括号/花括号高亮配色,代码结构一眼看清。
4. Git / 版本控制
- GitLens
- 功能:代码历史、作者、修改记录直观展示。
- 对团队协作或大型项目维护很有帮助。
5. 数据库 & API 调试
- SQLTools
- 功能:直接在 VS Code 中连接 MySQL / MariaDB / PostgreSQL 等,执行 SQL 查询。
- REST Client
- 功能:直接在 VS Code 测试接口,不用单独安装 Postman。
6. 推荐组合:
- 必装:
PHP Intelephense
+PHP Debug
+PHP CS Fixer
- 辅助开发:
PHP DocBlocker
+PHP Namespace Resolver
- 前端部分:
Prettier
+Auto Rename Tag
+Bracket Pair Colorizer 2