一、基础入门阶段(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维护代码仓库。