前言
Laravel 是一个流行的 PHP Web 开发框架,以其优雅的语法和丰富的功能而著称。本文旨在为初学者提供一个实战入门指南,通过一系列的步骤和示例,帮助您快速掌握 Laravel。
1. 环境搭建
在开始之前,您需要准备以下环境:
- PHP 7.2.5 或更高版本
- Composer
- Web 服务器(如 Apache 或 Nginx)
- 数据库(如 MySQL 或 PostgreSQL)
1.1 安装 PHP 和 Composer
您可以从 PHP 官方网站 下载并安装 PHP。安装完成后,确保您的 PHP 版本符合要求。
Composer 是 PHP 的包管理工具,您可以从 Composer 官方网站 下载并安装。
1.2 创建 Laravel 项目
使用 Composer 创建一个新的 Laravel 项目:
composer create-project --prefer-dist laravel/laravel your-project-name
这将创建一个名为 your-project-name
的新目录,其中包含 Laravel 项目的所有文件。
1.3 配置 Web 服务器
将项目根目录设置为 Web 服务器的根目录。例如,对于 Nginx,您需要在 nginx.conf
文件中添加以下配置:
server {
listen 80;
server_name your-domain.com;
root /path/to/your-project-name/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据您的 PHP 版本修改
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
2. Laravel 基础
2.1 目录结构
Laravel 项目的目录结构如下:
your-project-name/
├── app/
│ ├── Console/
│ ├── Http/
│ │ ├── Controllers/
│ │ ├── Middleware/
│ │ ├── Routes/
│ │ └── Views/
│ ├── Database/
│ ├── Fonts/
│ ├── Lang/
│ ├── Pub/
│ ├── Resources/
│ ├── Storage/
│ ├── Tests/
│ ├── Vendor/
│ └── config/
├── bootstrap/
├── storage/
├── vendor/
└── public/
2.2 路由和控制器
Laravel 使用路由和控制器来处理 HTTP 请求。以下是一个简单的路由示例:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
2.3 视图
Laravel 使用 Blade 模板引擎来渲染视图。以下是一个简单的视图示例:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Laravel</title>
</head>
<body>
<h1>Welcome to Laravel</h1>
</body>
</html>
3. 实战项目
3.1 用户注册与登录
以下是一个简单的用户注册与登录示例:
- 创建
User
模型:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $fillable = ['name', 'email', 'password'];
}
- 创建
Auth
服务提供者:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Route;
class AuthServiceProvider extends ServiceProvider
{
public function boot()
{
Route::get('/login', 'AuthController@showLoginForm');
Route::post('/login', 'AuthController@login');
Route::get('/register', 'AuthController@showRegistrationForm');
Route::post('/register', 'AuthController@register');
Route::get('/logout', 'AuthController@logout');
}
}
- 创建
AuthController
控制器:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
class AuthController extends Controller
{
public function showLoginForm()
{
return view('auth.login');
}
public function login(Request $request)
{
// 验证用户名和密码
// 登录用户
// 返回重定向
}
public function showRegistrationForm()
{
return view('auth.register');
}
public function register(Request $request)
{
// 验证注册信息
// 创建新用户
// 返回重定向
}
public function logout()
{
// 退出用户
// 返回重定向
}
}
- 创建
login
和register
视图:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<!-- 登录表单 -->
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<!-- 注册表单 -->
</body>
</html>
4. 总结
通过本文,您应该已经了解了 Laravel 的基础知识和实战项目。接下来,您可以继续学习 Laravel 的更多高级功能,如 Eloquent ORM、中间件、路由守卫等。祝您学习愉快!