为什么选择 Laravel 进行 Web 开发
Laravel 是目前最流行的 PHP Web 框架之一,凭借优雅的语法、强大的生态和丰富的内置功能,成为众多独立开发者和团队的首选。无论是快速搭建 MVP,还是构建复杂的企业级应用,Laravel 都能提供高效的开发体验。本文将带你从零开始完成 Laravel 的基本配置,并演示核心使用方法。
环境准备与安装
Laravel 对运行环境有一定要求,推荐使用 PHP 8.1 及以上版本,并确保已安装 Composer、Node.js 和 npm。
通过 Composer 创建项目
composer create-project laravel/laravel my-app
cd my-app
php artisan serve执行 php artisan serve 后,访问 http://127.0.0.1:8000 即可看到 Laravel 欢迎页。如果使用 Laravel Herd 或 Sail,也可以直接通过图形化工具启动。
使用 Laravel Sail(Docker 方案)
composer create-project laravel/laravel my-app
cd my-app
./vendor/bin/sail upSail 适合团队协作,能保证开发环境一致性。
核心配置文件详解
Laravel 的配置集中在 config/ 目录,所有配置项都可以通过 env() 函数读取 .env 文件中的环境变量。
.env 文件
复制 .env.example 为 .env,并修改数据库连接信息:
APP_NAME=MyApp
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=root
DB_PASSWORD=secret修改配置后,若缓存了配置需执行 php artisan config:clear。
生成应用密钥
php artisan key:generate该命令会生成 APP_KEY,用于加密会话和敏感数据。
路由与控制器
Laravel 的路由文件位于 routes/ 目录,web.php 处理 Web 请求,api.php 处理 API 请求。
定义基本路由
use App\Http\Controllers\UserController;
Route::get('/', function () {
return view('welcome');
});
Route::get('/users', [UserController::class, 'index']);
Route::post('/users', [UserController::class, 'store']);创建控制器
php artisan make:controller UserController生成的控制器位于 app/Http/Controllers,可以在其中编写业务逻辑:
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
return User::all();
}
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:users',
]);
return User::create($validated);
}
}数据库与 Eloquent ORM
Laravel 的 Eloquent ORM 让数据库操作变得直观。首先配置好 .env 中的数据库连接,然后创建迁移和模型。
创建迁移文件
php artisan make:migration create_posts_table
php artisan migrate在迁移文件中定义表结构:
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});使用模型查询数据
php artisan make:model Post// 查询所有文章
$posts = Post::all();
// 条件查询
$published = Post::where('status', 'published')->get();
// 创建记录
Post::create([
'title' => 'Laravel 入门',
'content' => '这是一篇教程',
]);视图与 Blade 模板
Blade 是 Laravel 内置的模板引擎,支持模板继承、组件和指令。
<!-- resources/views/posts/index.blade.php -->
@extends('layouts.app')
@section('content')
<h1>文章列表</h1>
@foreach ($posts as $post)
<article>
<h2>{{ $post->title }}</h2>
<p>{{ Str::limit($post->content, 100) }}</p>
</article>
@endforeach
@endsectionBlade 会自动转义输出,防止 XSS 攻击,使用 {!! !!} 可输出原始 HTML。
中间件与认证
中间件用于过滤 HTTP 请求。Laravel 自带 auth 中间件,可保护路由:
Route::middleware('auth')->group(function () {
Route::get('/dashboard', [DashboardController::class, 'index']);
});使用 Laravel Breeze 可快速搭建认证系统:
composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate常用 Artisan 命令
php artisan list:查看所有可用命令php artisan make:model Post -m:同时创建模型和迁移php artisan route:list:查看所有路由php artisan optimize:生产环境优化php artisan queue:work:启动队列处理器
总结
Laravel 通过合理的目录结构、强大的 Eloquent ORM 和 Blade 模板,大幅提升了 PHP 开发效率。掌握环境配置、路由、控制器、模型和视图这五大核心模块后,你就能快速构建功能完整的 Web 应用。建议进一步学习队列、事件、任务调度等高级特性,让 Laravel 开发更加得心应手。
评论 (0)
还没有评论,快来抢沙发吧~