一、编码规范
(一)代码格式
- 字符要求:全用半角英文(字母、符号 ),全角字符(如
;
)会报错,PHP 解析器仅识别半角(如 ;
)。
- 分号规则:每行代码结束建议加分号,虽语法允许最后一行省略,但企业开发为统一规范、避免报错,要求每行必加,增强代码可读性与可维护性。
(二)文件命名
- 仅能用英文半角字符:包含小写字母(
a-z
)、大写字母(A-Z
)、数字(0-9
)、下划线(_
) 。
- 禁用字符:中文、特殊符号(
@
#
等 )、空格。
- 大小写敏感:服务器(如 Linux )对文件名大小写敏感,命名不规范可能导致文件找不到,需严格区分。
二、变量与常量
(一)变量
- 标识规则:必须以
$
开头(如 $x
,$
为美元符 )。
- 命名限制:
- 首字母不能是数字;
- 区分大小写(
$name
和 $Name
是不同变量 );
- 禁用特殊符号、中文,下划线
_
除外(如 $user_name
合法 ) 。
- 代码示例:定义
$iphone6 = 5880
、$iphone6plus = 6088
,通过 echo $iphone6 + $iphone6plus
输出和,体现变量参与运算特性。
(二)常量
- 定义格式:用
define(常量名, 常量值)
创建,如 define('MAX_COUNT', 100)
。
- 命名习惯:
- 通常大写(语法允许小写,大写更规范 );
- 通常加引号(语法允许不加,加引号更规范 );
- 建议用字母 + 下划线命名 。
- 调用要求:在字符串里调用常量,需放引号外,如
echo "常量值是 " . CONST_NAME;
(CONST_NAME
为常量名 )。
三、数据类型(8 种基础类型 )
类型 |
说明 |
示例 |
string |
连续字符序列,可存文本 |
echo "Hello PHP"; |
integer |
存整数,正负均可 |
$num = 100; $num = -20; |
float |
存带小数点的数字(原书写错为 folat ) |
$price = 9.9; |
boolean |
表示真(true )或假(false ),用于逻辑判断 |
$isOk = true; |
array |
一组数据的集合,可存多类型元素 |
$arr = [1, "apple", true]; |
object |
类的实例,用 new 创建,封装属性和方法 |
$obj = new User(); (User 为自定义类 ) |
resource |
关联外部资源(如文件、数据库连接 ),由函数创建 |
$file = fopen("test.txt", "r"); (打开文件资源 ) |
null |
表示变量无值,未赋值变量默认是 null |
$var; // $var 为 null |
四、字符串声明方式
- 单引号:原样输出,不解析变量(如
'$name'
输出 $name
),仅转义单引号 \'
。
- 双引号:解析变量(如
("$name"
输出变量值 )和转义字符(如 \n
换行 )。
- heredoc(
<<<LABEL
):大段文本,解析变量和转义,结束标记 LABEL;
需顶格。
- nowdoc(
<<<'LABEL'
):大段文本,不解析变量和转义,单引号包裹标记。
五、文件包含函数
函数 |
包含失败表现 |
特点 |
include |
返回警告,程序继续 |
用于动态包含(非必需文件,失败不阻断流程 ) |
require |
报致命错误,程序终止 |
用于必需文件(如配置、核心逻辑 ),失败直接停 |
include_once |
返回警告,程序继续 |
同 include ,但自动去重(同一文件只包含一次 ) |
require_once |
报致命错误,程序终止 |
同 require ,且自动去重(防重复包含 ) |
说明:include
/require
是基础包含,_once
版本增加 “只包含一次” 逻辑;按需选择,必需文件用 require
,非必需用 include
(原表格 Inlcude
为拼写错误,标准是 include
)。
六、正则表达式
- 作用:文本匹配与处理工具,用特定语法规则组成的字符串,实现查找、替换、验证文本内容,如验证邮箱格式、过滤敏感词、提取信息 。
- 定界符规则:
- 禁用字符:
a-z
(大小写 )、0-9
、\
。
- 可用字符:
/
、$
、%
、^
、@
等,需成对出现(开始和结束一致 )。
- 转义处理:若正则里需匹配定界符自身(如定界符用
/.
,正则需匹配 /
),要加转义 \
(如 \/
);也可换其他定界符避免转义(如 #/#
用 #
当定界符 )。
- 应用场景:验证格式(邮箱、手机号 )、替换内容(敏感词过滤 )、提取信息(URL、号码 )等 。
七、文件读取函数
(一)readfile
- 语法:
int readfile ( string $文件名 )
。
- 功能:传入文件路径(或文件名,需路径正确 ),直接输出文件内容,返回读取的字节数。
- 特点:简单直接,适合快速输出静态文本、小文件,无需手动打开 / 关闭文件资源,如
readfile('test.txt');
。
(二)fopen
+ fread
+ fclose
fopen
:打开文件,返回文件资源句柄(操作文件的 “入口” ),需搭配 fread
读内容、fclose
关闭资源 。
fread
:通过 fopen
拿到的句柄,读取文件内容 。
fclose
:关闭 fopen
打开的文件资源,释放系统占用 。
- 特点:更底层、可控,适合需灵活控制读取过程场景(如按字节读、逐行读大文件 )。
八、文件上传流程(6 步骤 )
- 前端表单:HTML 表单设
enctype="multipart/form-data"
,提供文件选择框,提交到 PHP 脚本 。
- 接收信息:PHP 用
$_FILES
超全局变量,获取文件原名、临时路径、大小、错误码等 。
- 错误校验:通过
$_FILES['file']['error']
检查系统级错误(如超 PHP 配置、临时目录异常 ),拦截故障 。
- 业务校验:自定义规则,验证文件大小(业务限额 )、类型(如仅允许图片 )、扩展名,筛除不合规文件 。
- 移动文件:用
move_uploaded_file($_FILES['file']['tmp_name'], '目标路径')
,把临时文件移到服务器指定目录 。
- 后续处理:上传成功后,可记录文件信息到数据库、返回访问链接,或做压缩、加水印等额外操作 。