H10 PHP 开发常见操作与示例
本文档整理了详细说明了 PHP 开发中的基础语法、数据库查询、迁移管理、消息队列管理、模型查询、文件处理以及代码规范检查等内容,包含具体代码示例和中文说明,适合快速参考和学习。
基础语法
字符串操作
explode 和 implode
用于字符串分割与合并,类似于 Python 的 split 和 join。
1 | |
说明:
explode将字符串按指定分隔符分割成数组,适用于解析固定格式的字符串。implode将数组元素拼接成字符串,常用于生成特定格式的输出。
str_replace 和 trim
字符串替换与去除首尾空白。
1 | |
说明:
str_replace支持批量替换,常用于文本清理或格式化。trim可指定去除的字符集,如trim($text, " \t\n\r")。
输出与换行
1 | |
说明:PHP_EOL 是 PHP 内置的换行符常量,跨平台兼容(Windows 为 \r\n,Unix 为 \n)。
数组定义
1 | |
说明:
PHP 数组支持键值对,类似 Python 的字典,常用于配置或数据传递。
三元表达式
简洁的条件判断语法。
1 | |
说明:
三元表达式适合简单的条件赋值或输出,避免冗长的 if-else。
JSON 编码
1 | |
说明:json_encode 将 PHP 数组或对象转为 JSON 字符串,常用于 API 数据返回。
文件读写
1 | |
说明:
file_get_contents读取整个文件到字符串,适合小型文件。file_put_contents写入内容到文件,覆盖原有内容,支持追加模式(FILE_APPEND)。
HTML 解码
1 | |
说明:html_entity_decode 将 HTML 实体(如 <)转换为对应字符,适用于显示用户输入或外部数据。
正则表达式
preg_match 和 preg_match_all
1 | |
说明:
preg_match匹配一次,返回第一个结果。preg_match_all匹配所有结果,返回数组,常用于批量提取。
数组操作
array_map
对数组每个元素应用回调函数。
1 | |
说明:array_map 适合批量转换数据,回调函数支持匿名函数(PHP 7.4+)。
array_filter
过滤数组元素。
1 | |
说明:array_filter 根据回调函数的返回值保留元素,适用于数据筛选。
in_array
检查元素是否存在于数组。
1 | |
说明:in_array 支持严格模式(strict => true),可检查类型和值。
查询数据库
PostgreSQL 查询
注意:
PostgreSQL 中列名若包含大写字母,必须用双引号("")包裹。
示例查询
查询 AmzProductDetails1 表中与特定 ASIN 相关的记录。
1 | |
说明:
- 子查询获取
AmzProduct1表中符合条件的id。 - 主查询根据
AmzProduct_id关联查询详细信息。 - 双引号确保列名大小写正确,避免语法错误。
访问数据库:
- 网址:https://members.helium10.com/admin/database/index/
- 权限:联系 @ivan 申请。
Migrate 管理和使用
数据库迁移用于管理表结构变更,确保开发与生产环境一致。
1. 创建迁移文件
在 Docker 容器中运行命令生成迁移文件。
1 | |
说明:
- 命令格式:
migrate/create <迁移名称>。 - 迁移名称应清晰描述变更内容,如添加字段、修改表结构等。
2. 编辑迁移文件
生成的文件位于项目迁移目录,需实现 up 和 down 方法。
示例迁移文件
1 | |
注意事项:
- 方法需返回
true(成功)或false(失败)。 - 使用
safeUp和safeDown执行事务操作,确保数据一致性。 - 创建索引时避免在
safeUp中执行,可能导致事务错误,建议使用up。
3. 应用或回退迁移
执行迁移命令更新数据库。
1 | |
说明:
migrate默认执行up,应用新迁移。migrate/down <n>回退指定次数的迁移,执行down方法。
RabbitMQ 管理界面
访问 RabbitMQ 管理界面查看队列状态、消息堆积等。
- 地址:http://192.168.127.100:15673/#/queues
- 说明:用于监控消息队列,排查延迟或阻塞问题。
PHPCS 和 PHPCBF 代码检查
确保代码符合规范,提高可读性和维护性。
PHPCS 检查代码
1 | |
说明:
--standard=PSR12指定 PSR-12 编码规范。- 输出代码风格问题,如缩进、命名等。
PHPCBF 自动修复
1 | |
说明:
- 自动修复可修复的问题(如空格、换行)。
- 复杂问题需手动调整。
在线工具
以下工具提高开发效率,适合快速格式化或转换数据。
JSON 转 PHP 数组
- 网址:https://uutool.cn/json2php/
- 功能:将 JSON 字符串转为 PHP 数组代码。
JSON 格式化
- 网址:https://spidertools.cn/#/formatJSON
- 功能:美化 JSON 数据,检查语法错误。
HTML 渲染
- 网址:https://spidertools.cn/#/renderHtml
- 功能:在线预览 HTML 代码效果。
CSV 转 JSON
- 网址:https://tableconvert.com/zh-cn/csv-to-json
- 功能:将 CSV 文件转为 JSON 格式,适合数据导入