Laravel 入门完全指南
什么是 Laravel?
Laravel 是当前最流行的 PHP 全栈开发框架,具有以下核心特性:
- 优雅的语法:简洁直观的代码结构
- MVC 架构:清晰分离业务逻辑与展示层
- 内置工具:包含身份验证、队列、缓存等常用功能
- 活跃社区:拥有完善的生态系统和文档支持
环境准备
1. 系统要求
- PHP ≥ 8.1
- Composer 包管理器
- 数据库(MySQL/PostgreSQL/SQLite)
- Web 服务器(Nginx/Apache)
2. 安装 Laravel
使用 Composer 创建新项目:
composer create-project laravel/laravel my-project
cd my-project
php artisan serve
访问 http://localhost:8000
查看欢迎页面
核心概念
1. 路由系统
定义在 routes/web.php
:
Route::get('/hello', function () {
return view('welcome', ['name' => '新用户']);
});
2. 控制器
创建控制器:
php artisan make:controller UserController
示例控制器方法:
public function show($id)
{
return User::findOrFail($id);
}
3. 模型与数据库
创建模型及迁移文件:
php artisan make:model Post -m
迁移文件示例:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
快速构建示例应用
1. 创建待办事项功能
生成脚手架:
php artisan make:model Todo -mcr
2. 定义路由
Route::resource('todos', TodoController::class);
3. 控制器逻辑
class TodoController extends Controller
{
public function index()
{
return view('todos.index', [
'todos' => Todo::all()
]);
}
public function store(Request $request)
{
Todo::create($request->validate([
'title' => 'required|max:255'
]));
return redirect('/todos');
}
}
4. 视图模板
resources/views/todos/index.blade.php
:
@extends('layouts.app') @section('content')
<h1>待办事项</h1>
<form method="POST" action="/todos">
@csrf
<input type="text" name="title" required />
<button type="submit">添加</button>
</form>
<ul>
@foreach ($todos as $todo)
<li>{{ $todo->title }}</li>
@endforeach
</ul>
@endsection
特色功能
1. Blade 模板引擎
@if ($items->isEmpty())
<div class="alert">暂无数据</div>
@else @foreach ($items as $item)
<div>{{ $item->name }}</div>
@endforeach @endif
2. Artisan 命令行
常用命令:
php artisan make:model Product -a # 创建模型及相关文件
php artisan migrate:refresh --seed # 重置数据库并填充测试数据
php artisan queue:work # 启动队列处理
3. Eloquent ORM
高级查询示例:
$users = User::where('active', true)
->with('posts')
->orderBy('name')
->paginate(10);
学习路径建议
-
基础阶段(1-2 周)
- 路由与控制器
- Blade 模板基础
- 数据库迁移与 Eloquent
-
进阶阶段(3-4 周)
- 用户认证系统
- 队列与任务调度
- API 开发
-
实战阶段(5-6 周)
- 构建完整 CRUD 应用
- 集成第三方服务
- 性能优化技巧
常见问题
Q1:如何调试应用?
使用 dd()
函数:
dd($variable); // 打印并终止执行
Q2:如何配置环境变量?
修改 .env
文件:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
资源推荐
- 官方文档(含中文版)
- Laracasts 视频教程
- GitHub 开源项目集
- 中文社区:Laravel China
总结
Laravel 通过其优雅的语法和丰富的功能,大幅降低了 PHP Web 开发的门槛。建议初学者从构建简单 CRUD 应用开始,逐步掌握核心概念,并善用 Artisan 工具提升开发效率。持续关注官方文档更新,参与社区讨论,是快速成长的关键。