PHP 教程
下面是一份系统化的 PHP 入门教程,按照由浅入深的顺序组织,帮助你快速掌握 PHP 的基础与常用技巧。
1. 环境搭建
- 安装 PHP
- Windows:推荐使用 XAMPP 或 WampServer;
- macOS:可通过 Homebrew 安装:
brew install php
- Linux(Debian/Ubuntu):
sudo apt update sudo apt install php libapache2-mod-php
- 集成 Web 服务器
- Apache:通常随 XAMPP/WampServer 安装;
- Nginx:需手动安装并配置
php-fpm
;
- 数据库(可选)
- MySQL / MariaDB:XAMPP 自带,或手动安装;
- SQLite:零配置,适合小型项目。
2. 第一个 PHP 脚本
创建 index.php
,放在 Web 根目录(如 htdocs
或 /var/www/html
)下,内容如下:
<?php
echo "Hello, PHP 世界!";
?>
在浏览器访问 http://localhost/index.php
,看到 “Hello, PHP 世界!” 即表示环境正常。
3. 基本语法
- PHP 标签:
<?php // PHP 代码 ?>
- 注释方式:
// 单行注释 # 单行注释 /* 多行注释 */
- 输出:
echo "输出文本"; print "也可以输出";
4. 变量与数据类型
- 变量声明:以
$
开头,区分大小写$name = "Alice"; $age = 25;
- 常见数据类型:
- 整数(int)、浮点数(float)
- 字符串(string)
- 布尔值(bool)
- 数组(array)
- 对象(object)
- NULL
- 示例:
$flag = true; $scores = [90, 85, 78];
5. 数组与循环
- 索引数组:
$fruits = ["苹果", "香蕉", "橘子"];
- 关联数组:
$person = [ "name" => "Bob", "age" => 30, ];
- foreach 循环:
foreach ($fruits as $item) { echo $item . "<br>"; } foreach ($person as $key => $value) { echo "$key: $value<br>"; }
6. 函数与作用域
- 定义与调用:
function add($a, $b) { return $a + $b; } echo add(2, 3); // 输出 5
- 变量作用域:
- 全局变量需使用
global
关键字或$GLOBALS
数组; - 函数内部定义的变量为局部变量。
- 全局变量需使用
7. 面向对象
class Car {
public $brand;
private $speed = 0;
public function __construct($brand) {
$this->brand = $brand;
}
public function accelerate($value) {
$this->speed += $value;
}
public function getSpeed() {
return $this->speed;
}
}
$car = new Car("Toyota");
$car->accelerate(50);
echo $car->getSpeed(); // 50
- 关键字:
public
、protected
、private
、static
、extends
、implements
8. 表单处理与超全局变量
- 提交表单(POST):
<form method="post" action="submit.php"> <input name="username"> <button type="submit">提交</button> </form>
- 接收数据:
// submit.php $user = $_POST['username'] ?? ''; echo "欢迎," . htmlspecialchars($user);
- 其他常用超全局:
$_GET
、$_SESSION
、$_COOKIE
、$_REQUEST
9. 与数据库交互(以 PDO 为例)
// 连接
$dsn = "mysql:host=localhost;dbname=testdb;charset=utf8";
$db = new PDO($dsn, "root", "");
// 查询
$stmt = $db->query("SELECT * FROM users");
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 插入
$sql = "INSERT INTO users (name, age) VALUES (:name, :age)";
$stmt = $db->prepare($sql);
$stmt->execute([':name' => 'Carol', ':age' => 28]);
10. 错误与异常处理
// 错误显示(开发时)
ini_set('display_errors', 1);
error_reporting(E_ALL);
// 异常处理
try {
throw new Exception("出错了!");
} catch (Exception $e) {
echo "捕获异常:" . $e->getMessage();
}
11. Composer 与依赖管理
- 安装 Composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php
- 使用:
composer init # 初始化项目 composer require monolog/monolog
- 自动加载:
require 'vendor/autoload.php'; use Monolog\Logger;
12. 常用框架与工具
- 框架:Laravel、Symfony、CodeIgniter
- 调试:Xdebug、PHPUnit(单元测试)
- 模板引擎:Twig、Blade
13. 进阶学习资源
- 官方手册:php.net/manual/zh/
- 在线教程:廖雪峰 PHP 教程、菜鸟教程
- 开源项目:在 GitHub 上搜索关键词
php
通过以上章节,你可以快速从入门到初步掌握 PHP 的核心语法与实践。后续可结合实际项目,持续深入学习框架、设计模式和最佳实践。祝编码愉快!