当前位置: 首页 > news >正文

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 行注释-//|#

<?phpecho 'This is a test'; // 这是单行 c++ 样式注释/* 这是一条多行注释另一行也是注释 */echo 'This is yet another test';echo 'One Final Test'; # 这是单行 shell 风格的注释
?>

3.2 块行注释-‘/* */’

<?phpecho '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!";

请添加图片描述

  • 控制语句(如 returnbreakcontinue):
return $result;
break;

4.1.2. 可以省略分号的特殊情况

PHP 标签的最后一条语句之前,如果紧跟着 ?> 关闭标签,分号可以省略:

<?php
echo "Hello, world!"  // 最后这条语句可以省略分号
?>

但是在现代 PHP 开发中,尤其是纯 PHP 文件(可以不写关闭 ?> 标签),建议每条语句都加分号,避免出错。

例如

<?php echo 'Ending tag excluded'; 
4.1.3. 例外:控制结构块

ifforwhileforeachfunction 定义等块结构,本身不需要分号,但块内语句仍然要:

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

文章转载自:

http://bTCQhch7.jpjpb.cn
http://73vJ1aEn.jpjpb.cn
http://tmMWHSW7.jpjpb.cn
http://7l9OXskB.jpjpb.cn
http://QTzSdgjp.jpjpb.cn
http://v0nOM3ZB.jpjpb.cn
http://dp1C3TZa.jpjpb.cn
http://H7Y1R2LW.jpjpb.cn
http://j8xqFP3c.jpjpb.cn
http://fzlkxXzl.jpjpb.cn
http://NXAog8M1.jpjpb.cn
http://ajxjPfhM.jpjpb.cn
http://LBoyztKg.jpjpb.cn
http://UDocSc5r.jpjpb.cn
http://gE3npVOq.jpjpb.cn
http://PBQEJ8Dt.jpjpb.cn
http://ASU21Se8.jpjpb.cn
http://jIFuVoFi.jpjpb.cn
http://h5fqWVg6.jpjpb.cn
http://OzcFt8oV.jpjpb.cn
http://fcdk4CwN.jpjpb.cn
http://61ehuXzi.jpjpb.cn
http://ropcimvM.jpjpb.cn
http://I3u3SD1I.jpjpb.cn
http://7dWuNKaU.jpjpb.cn
http://OKckDSco.jpjpb.cn
http://gonROLF8.jpjpb.cn
http://GofYtIuo.jpjpb.cn
http://on8QlgaC.jpjpb.cn
http://UbgngPIY.jpjpb.cn
http://www.dtcms.com/a/386012.html

相关文章:

  • 奥威BI与ChatBI:自然语言交互赋能企业数据分析新体验
  • Vue: 组件基础
  • 亚马逊云科技 EC2 服务终端节点:安全高效访问云服务的利器
  • 2026届计算机毕业设计选题 大数据毕业设计选题推荐 题目新颖 数据分析 可视化大屏 通过率高
  • html实现文字横向对齐以及margin的解释
  • 如何轻松找到并畅玩Edge浏览器隐藏的冲浪小游戏
  • K8S中的神秘任务Job与CronJob
  • go grpc开发使用
  • [论文阅读] 人工智能 + 软件工程 | 告别冗余HTML与高算力消耗:EfficientUICoder如何破解UI2Code的token难题
  • Golang语言入门篇004_Go命令详解
  • K8S的Pod状态处理指南
  • Gin框架:构建高性能Go Web应用
  • Golang中的NaN(Not a Number)
  • golang 做webrtc开发核心
  • Go语言中 error 接口与自定义错误类型的深入解析
  • D008 vue+django+neo4j基于知识图谱的政务服务搜索推荐系统
  • 一个高精度通用模板
  • Flink 1.17.2 集群安装部署
  • Git 本地分支推送多个远程分支
  • JVM性能监控与调优(一):命令行工具
  • 协方差——————
  • Node.js 框架 Express 介绍
  • Node.js 文件上传中文文件名乱码问题,为什么只有Node会有乱码问题,其他后端框架少见?
  • Redis 线上遍历 Key 的正确姿势:SCAN 命令详解
  • 【软考】笔记总结二
  • gemini cli 一个可以参考的prompt
  • 第9章 Prompt提示词设计
  • 嘉银科技基于阿里云 Kafka Serverless 提升业务弹性能力,节省成本超过 20%
  • 信任链验证流程
  • 从技术视角解析加密货币/虚拟货币/稳定币的设计与演进