php
PHP (Hypertext Preprocessor)超文本预处理器, is a versatile and widely used server-side scripting language for creating dynamic and interactive web applications.
# misc
# package
Composer 是 PHP 的依赖管理工具.
# env
link:
- https://blog.csdn.net/qq_44803335/article/details/108806851 (opens new window)
- Visual Studio Code +PHP 开发 推荐插件 (opens new window)
# plugin
- PHP Intelephense
- 超好用 php 智能代码提示器,支付代码提示、查找定义、类搜索等功能,非常强大
- PHP 接口注释插件
- 安装好后可以使用
"/**"快捷键 + Tab 自动生成接口和文档注释,用于函数,类的快速注释 更多配置可以参考插件说明
- 安装好后可以使用
- PHP debug 插件 调试器
- 此插件需要安装 php-xdebug 并配置,之后才可正常使用
- php intellisense
- php 代码自动完成插件
- PHP Namespace Resolver
- 命名空间 的快速引入, 选中类,按 ctrl+alt+I
- Code Spell Checker
- 单词拼写检查插件,只要你的单词拼写错误就会在错误单词下有个波浪线提示,避免错误的命名非常好用
- code runner
- 可以直接在编辑器中运行代码,查看结果,非常方便,一键运行
- PHP Server
- 服务插件
# FAQ
# php 项目运行不需要编译吗?
PHP 项目在运行时不需要像 C、C++ 或 Java 那样进行显式的编译。PHP 是一种解释型语言,这意味着它的代码在运行时由 PHP 解释器逐行解释和执行。然而,PHP 的解释器会在执行过程中对代码进行一些内部的编译和优化
解释型语言的工作原理
- 脚本解析:
- 当你访问一个 PHP 页面时,PHP 解释器会读取 PHP 文件的内容
- 语法解析:
- 解释器会解析代码,检查语法错误,并将代码转换成一系列的中间表示(通常称为抽象语法树,AST)
- 编译到字节码:
- 解释器将 AST 编译成一种中间字节码(Opcode),这是解释器内部使用的一种低级表示形式
- 执行:
- 解释器会执行生成的字节码,生成最终的输出(如 HTML 页面)
不需要显式编译的优点:
- 快速开发迭代: 由于不需要显式编译步骤,开发者可以快速进行代码修改和测试,适合快速迭代和开发
- 简化部署: 部署 PHP 项目时,只需将 PHP 文件上传到服务器,无需额外的编译步骤
性能优化
尽管 PHP 是解释型语言,仍然有一些工具和技术可以用来优化 PHP 项目的性能:
- OPcache:
- PHP 提供了 OPcache 扩展,它可以将 PHP 字节码缓存在内存中,避免每次请求时重新解析和编译。启用 OPcache 后,PHP 代码的执行速度会显著提高
; php.ini 文件中启用 OPcache
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=2
1
2
3
4
5
6
7
2
3
4
5
6
7
- 代码优化:
- 编写高效的代码,避免不必要的计算和重复操作
- 使用高效的数据结构和算法
- 缓存:
- 使用各种缓存机制(如数据库缓存、文件缓存、APCu)来减少重复计算和数据库查询
- 框架和工具:
- 使用性能优化良好的框架和库,例如 Symfony、Laravel,它们内置了许多优化和缓存机制
编译型 vs. 解释型
与编译型语言不同,解释型语言不需要显式的编译步骤,但这并不意味着它们不进行任何形式的编译。解释型语言的编译过程在运行时由解释器处理,这使得开发和调试更加灵活和高效
小结: PHP 项目在运行时不需要显式编译,PHP 解释器会在运行时解析和执行代码。尽管不需要显式编译,PHP 仍然有许多方法可以优化性能,例如使用 OPcache 和其他缓存机制。这种特性使得 PHP 非常适合快速开发和迭代
# debug php project
要调试 PHP 代码并使用 Xdebug,你需要确保以下几个步骤都正确配置好:
- 安装 Xdebug:
- 确保你已经安装了 Xdebug。你可以通过以下命令检查是否已经安装:
php -m | grep xdebug
1
如果没有安装,可以通过以下方式安装(具体安装步骤可能因操作系统而异):
pecl install xdebug
1
- 配置 Xdebug:
- 在 php.ini 文件中添加或修改 Xdebug 的配置。通常可以在 PHP 配置目录(例如
/etc/php/7.4/cli/php.ini或/etc/php/7.4/apache2/php.ini)中找到并编辑 php.ini 文件。添加或修改以下配置: php --ini: 查看 php ini 配置
[xdebug]
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
; some path that file exist
xdebug.log=/var/log/xdebug.log
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- 配置 IDE(例如 VSCode):
- 使用 VSCode 并安装 PHP Debug 插件(by Felix Becker)。然后配置 launch.json 文件来监听 Xdebug
- 创建或编辑
.vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- 确保服务器配置正确:
- 如果你在使用 Apache 或 Nginx 作为服务器,确保服务器重启后 Xdebug 的配置被正确加载。你可以通过创建一个包含 phpinfo() 的 PHP 文件来检查 Xdebug 是否正确启用
<?php
phpinfo();
?>
1
2
3
2
3
- 启动调试会话:
- 在 VSCode 中按
F5或点击调试按钮来启动监听,然后访问你的 PHP 页面
- 在 VSCode 中按
# link
上次更新: 2025/07/17, 17:31:43