本教程面向零基础或刚接触 PHP 的开发者,按由浅入深的顺序讲解所有主要知识点。建议按章节顺序阅读。
一、PHP 简介
PHP 是什么?
PHP 是一种非常成熟的服务端脚本语言,主要用于构建 Web 应用与后端接口。它的生态非常丰富,常见用途包括:
- 动态网页(传统 Web 开发)
- 后端 API(REST 风格接口)
- 与数据库交互(MySQL/PostgreSQL 等)
适合做什么?
- 需要快速做出可运行的 Web 服务
- 想学习服务端语言的基本开发模式
- 对“语法简单 + 生态成熟”有偏好
二、安装与开发方式
安装 PHP
- 选择适合你系统的安装方式(官方安装包、包管理器或集成环境)
- 确认版本:
php -v
本地快速启动(内置服务器)
假设你有一个 public/ 目录:
php -S localhost:8000 -t public
然后访问:http://localhost:8000
三、基础语法
变量与输出
<?php
$name = "Alice";
$age = 18;
echo "Hello, {$name}\n";
echo "Age: {$age}\n";
条件与循环
<?php
$score = 90;
if ($score >= 90) {
echo "A\n";
} else {
echo "B\n";
}
for ($i = 0; $i < 3; $i++) {
echo $i . "\n";
}
四、函数与作用域
定义函数
<?php
function add(int $a, int $b): int {
return $a + $b;
}
echo add(1, 2); // 3
作用域与变量
注意函数内部变量的作用域规则:函数内创建的变量默认不会自动暴露到全局作用域中。
五、面向对象(OOP)
类与对象
<?php
class User {
public string $name;
public function __construct(string $name) {
$this->name = $name;
}
public function greet(): string {
return "hi, {$this->name}";
}
}
$u = new User("Tom");
echo $u->greet();
继承(了解)
<?php
class Admin extends User {
public function role(): string {
return "admin";
}
}
六、命名空间与 Composer(包管理)
安装 Composer
- 进入官网安装 Composer(或使用系统包管理器)
初始化项目与引入依赖
composer init
composer require guzzlehttp/guzzle
然后即可在代码中使用第三方库(具体 API 以库文档为准)。
七、数据库(PDO 简例)
PDO 基础连接
<?php
$dsn = "mysql:host=localhost;dbname=mydb;charset=utf8mb4";
$user = "root";
$password = "xxx";
$pdo = new PDO($dsn, $user, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
使用预处理(防 SQL 注入)
<?php
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute([':id' => 1]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($row);
八、简单 Web 服务示例(路由思路)
你可以用“单入口文件”来做最基础的路由分发(新手学习用):
public/index.php:
<?php
$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
if ($path === '/health') {
header('Content-Type: application/json; charset=utf-8');
echo json_encode(['ok' => true], JSON_UNESCAPED_UNICODE);
exit;
}
http_response_code(404);
echo "Not Found";
启动后访问:/health
九、测试与质量
安装 PHPUnit
composer require --dev phpunit/phpunit
写一个简单测试:tests/MathTest.php
<?php
use PHPUnit\Framework\TestCase;
final class MathTest extends TestCase {
public function testAdd(): void {
$this->assertSame(3, 1 + 2);
}
}
运行:
vendor/bin/phpunit
十、部署与小结
部署思路
- 生产环境使用稳定的 Web 服务器(Nginx + PHP-FPM 等)
- 配置环境变量(数据库连接、密钥等)
- 使用 Composer 管理依赖并做出可复现的构建
小结
- 语法基础:变量、条件、循环、函数
- 工程能力:Composer、命名空间
- 数据:PDO + 预处理
- Web:最小路由示例
- 质量:PHPUnit
十一、学习路径小结
- 跑通
php -S并写一个/health接口 - 掌握基础语法与函数(至少 3-5 个练习题)
- 学会 OOP 并写一个
User类 - 使用 Composer 引入一个库,并写一次调用
- 用 PDO 写一个带预处理的查询示例
- 最少写 1 个 PHPUnit 测试并运行通过
遇到问题可查阅 PHP 官方文档。