
书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:
- PHP基础语法:PHP脚本以
<?php开头,?>结尾,支持变量、常量、运算符和流程控制结构(if/else/for/while)。 - 变量与数据类型:PHP是弱类型语言,支持整型(
int)、浮点型(float)、字符串(string)、布尔型(bool)、数组(array)等。 - 字符串操作:
- 单引号(
')不解析变量,双引号(")解析变量和转义字符。 - 常用函数:
strlen()、substr()、str_replace()、explode()/implode()。
- 数组类型与操作:
- 索引数组(
$arr = [1, 2, 3])和关联数组($arr = ['name' => 'Alice'])。 - 函数:
array_push()、array_merge()、array_key_exists()、foreach遍历。
- 函数与作用域:
- 自定义函数:
function sayHello($name) { ... }。 - 全局变量需用
global关键字或$GLOBALS超全局数组访问。
- 面向对象编程(OOP):
- 类与对象:
class User { ... },$user = new User()。 - 特性:封装、继承(
extends)、多态、抽象类(abstract)和接口(interface)。
- 错误处理:
- 错误类型:Notice、Warning、Fatal Error。
- 异常处理:
try/catch块和throw new Exception()。
- 文件操作:
- 文件读写:
file_get_contents()、file_put_contents()、fopen()/fclose()。 - 目录操作:
scandir()、mkdir()、unlink()。
- 表单处理:
- 获取表单数据:
$_GET、$_POST、$_REQUEST。 - 安全过滤:
htmlspecialchars()防止XSS,filter_var()验证输入。
- 会话与Cookie:
session_start()启用会话,$_SESSION存储会话数据。setcookie()设置Cookie,$_COOKIE读取Cookie。
- 数据库操作(PDO):
- 连接数据库:
new PDO("mysql:host=localhost;dbname=test", "user", "pass")。 - 执行SQL:
$stmt = $pdo->prepare("SELECT * FROM users"),$stmt->execute()。
- 连接数据库:
- MySQLi扩展:
- 面向过程:
mysqli_connect()、mysqli_query()。 - 面向对象:
$mysqli = new mysqli(),$result = $mysqli->query()。
- 面向过程:
- JSON处理:
json_encode()将数组/对象转为JSON字符串。json_decode()将JSON字符串转为PHP对象或数组。
- 日期与时间:
date("Y-m-d H:i:s")格式化日期。DateTime类:$date = new DateTime(),$date->format()。
- 命名空间(Namespace):
- 避免命名冲突:
namespace MyProject;,使用use MyProject\User。
- 避免命名冲突:
- Composer与依赖管理:
composer.json定义项目依赖,composer install安装包。- 自动加载:
require 'vendor/autoload.php'。
- RESTful API开发:
- 使用
$_SERVER['REQUEST_METHOD']获取HTTP方法(GET/POST/PUT/DELETE)。 - 返回JSON响应:
header('Content-Type: application/json')。
- 使用
- 安全实践:
- 密码哈希:
password_hash()和password_verify()。 - CSRF防护:生成并验证Token。
- 密码哈希:
- 性能优化:
- 使用OPcache加速脚本执行。
- 避免重复查询数据库,使用缓存(Redis/Memcached)。
- 现代PHP特性:
- 类型声明:
function sum(int $a, int $b): int { ... }。 - 匿名类与闭包:
$func = function($x) { return $x * 2; };。
- 类型声明: