一、基础入门阶段(2-3周)
1.1 开发环境搭建
-
安装PHP 8.1+(推荐使用XAMPP/WAMP集成环境)
-
配置VS Code+PHP Intelephense插件
-
掌握Composer依赖管理工具
1.2 基础语法要素
php
复制
<?php
// 变量与数据类型
$userName = "李雷";
$age = 25;
$price = 99.99;
$isVip = true;
// 流程控制
$score = 85;
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 75) {
echo "良好";
} else {
echo "继续努力";
}
// 循环结构
for ($i = 1; $i <= 5; $i++) {
echo "当前数字:$i <br>";
}
// 关联数组操作
$userInfo = [
"name" => "韩梅梅",
"email" => "han@example.com",
"hobbies" => ["阅读", "游泳"]
];
echo $userInfo["hobbies"][0]; // 输出:阅读
?>
1.3 函数与表单处理
php
复制
<?php
// 函数定义
function calculateBMI($weight, $height) {
$bmi = $weight / ($height * $height);
return round($bmi, 1);
}
echo calculateBMI(70, 1.75); // 22.9
// 表单处理示例
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = htmlspecialchars($_POST['username']);
$password = trim($_POST['password']);
// 验证处理逻辑...
}
?>
<!-- HTML表单 -->
<form method="post">
<input type="text" name="username" required>
<input type="password" name="password" required>
<button type="submit">注册</button>
</form>
二、核心技能阶段(3-4周)
2.1 数据库操作(MySQLi)
php
复制
<?php
// 数据库连接
$conn = new mysqli("localhost", "root", "password", "testdb");
if ($conn->connect_error) die("连接失败: " . $conn->connect_error);
// 预处理查询
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$name = "王小明";
$email = "wang@example.com";
$stmt->execute();
// 查询数据
$result = $conn->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
echo "ID: {$row['id']}, 姓名: {$row['name']}";
}
$conn->close();
?>
2.2 面向对象编程
php
复制
<?php
class Product {
private $id;
private $name;
private $price;
public function __construct($id, $name, $price) {
$this->id = $id;
$this->name = $name;
$this->price = $price;
}
public function getFormattedPrice() {
return '¥' . number_format($this->price, 2);
}
public function displayInfo() {
return "{$this->name} - {$this->getFormattedPrice()}";
}
}
// 使用示例
$product = new Product(1001, "无线耳机", 299.99);
echo $product->displayInfo(); // 无线耳机 - ¥299.99
?>
三、进阶开发阶段(4-5周)
3.1 MVC架构实现
php
/* 目录结构
- app/
- controllers/ProductController.php
- models/ProductModel.php
- views/products/list.php
*/
// ProductModel.php
class ProductModel {
protected $db;
public function __construct($db) {
$this->db = $db;
}
public function getAllProducts() {
return $this->db->query("SELECT * FROM products");
}
}
// ProductController.php
class ProductController {
public function index() {
$model = new ProductModel($db);
$products = $model->getAllProducts();
require 'app/views/products/list.php';
}
}
// list.php视图
<?php foreach ($products as $product): ?>
<div class="product">
<h3><?= htmlspecialchars($product['name']) ?></h3>
<p>价格:¥<?= number_format($product['price'], 2) ?></p>
</div>
<?php endforeach; ?>
3.2 RESTful API开发
php
复制
<?php
header('Content-Type: application/json');
// 路由处理
$request = $_SERVER['REQUEST_URI'];
switch (strtok($request, '?')) {
case '/api/products':
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$products = [
['id' => 1, 'name' => '商品A'],
['id' => 2, 'name' => '商品B']
];
echo json_encode($products);
}
break;
case '/api/orders':
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = json_decode(file_get_contents('php://input'), true);
// 处理订单创建逻辑...
http_response_code(201);
echo json_encode(['message' => '订单创建成功']);
}
break;
default:
http_response_code(404);
echo json_encode(['error' => '未找到资源']);
}
?>
四、现代框架阶段(5-6周)
4.1 Laravel基础使用
php
复制
// routes/web.php
Route::get('/products', [ProductController::class, 'index']);
// app/Http/Controllers/ProductController.php
class ProductController extends Controller {
public function index() {
$products = Product::all();
return view('products.index', compact('products'));
}
}
// resources/views/products/index.blade.php
@foreach ($products as $product)
<div>
<h2>{{ $product->name }}</h2>
<p>{{ $product->description }}</p>
</div>
@endforeach
4.2 Eloquent ORM操作
php
复制
// 模型定义
class User extends Model {
protected $fillable = ['name', 'email'];
public function posts() {
return $this->hasMany(Post::class);
}
}
// 数据操作
$user = User::create([
'name' => '张三',
'email' => 'zhang@example.com'
]);
$posts = $user->posts()->where('views', '>', 100)->get();
五、项目实战阶段(持续进行)
5.1 博客系统开发
php
复制
// 文章发布功能
class PostController extends Controller {
public function store(Request $request) {
$validated = $request->validate([
'title' => 'required|max:255',
'content' => 'required'
]);
$post = new Post();
$post->title = $validated['title'];
$post->content = $validated['content'];
$post->user_id = Auth::id();
$post->save();
return redirect()->route('posts.show', $post);
}
}
5.2 电商核心模块
php
复制
// 购物车服务类
class CartService {
public function addItem($productId, $quantity) {
$cart = session()->get('cart', []);
if(isset($cart[$productId])) {
$cart[$productId] += $quantity;
} else {
$cart[$productId] = $quantity;
}
session()->put('cart', $cart);
}
public function getTotal() {
$total = 0;
foreach(session('cart', []) as $id => $qty) {
$product = Product::find($id);
$total += $product->price * $qty;
}
return $total;
}
}
学习路线总结
分阶段重点
| 阶段 | 核心技能 | 推荐项目 |
|---|---|---|
| 基础语法 | 变量/流程控制/数组/函数 | 简易计算器 |
| Web开发基础 | 表单处理/会话管理/MySQL操作 | 留言板系统 |
| 面向对象 | 类与对象/继承/接口 | 图书管理系统 |
| 现代框架 | Laravel架构/Eloquent ORM/Blade模板 | 个人博客系统 |
| 企业级开发 | RESTful API/支付集成/队列系统 | 电商平台核心模块 |
专家级建议
-
环境优化:
-
使用Docker搭建LNMP环境
-
配置Xdebug进行调试
-
实施OPcache加速
-
-
安全实践:
php
复制
// SQL注入防护 $stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id"); $stmt->execute(['id' => $_GET['id']]); // XSS防护 echo htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8'); // CSRF防护(Laravel示例) <form method="POST"> @csrf <!-- 表单内容 --> </form> -
性能优化:
-
使用Redis缓存热点数据
-
实施数据库索引优化
-
启用PHP JIT编译器(PHP 8+)
-
-
持续学习:
-
研究Symfony框架底层实现
-
学习Swoole协程编程
-
参与Packagist开源包开发
-
学习周期:每天保持3小时有效学习,5个月可达到中级PHP开发水平。重点掌握:现代PHP特性(类型声明/匿名类)、Laravel全栈开发、数据库优化策略。建议每个阶段完成2个以上完整项目,并持续在GitHub维护代码仓库。
3万+

被折叠的 条评论
为什么被折叠?



