📅  最后修改于: 2023-12-03 15:08:08.819000             🧑  作者: Mango
Laravel 是一款经典的 PHP 开发框架,采用 PHP 的 MVC 开发模式,结构清晰、简洁优雅、优秀内核,是目前开发中最为流行的 PHP 框架之一。本文将介绍 Laravel 的开发流程及堆栈搭建方法。
以 macOS 为例
请先确认已安装好 PHP 和 composer,可以使用以下命令确认:
# 检查 PHP 是否安装
php -v
# 检查 composer 是否安装
composer -V
使用以下命令完成 Laravel 的安装:
# 安装 Laravel
composer create-project --prefer-dist laravel/laravel blog
修改 .env
文件,填写相应的数据库连接参数:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
使用以下命令生成 Laravel 应用的秘钥:
php artisan key:generate
使用以下命令启动 Laravel 应用内置的服务:
php artisan serve
在浏览器中输入 http://localhost:8000
访问 Laravel 程序。
Laravel 的文件结构如下:
- app/
- Http/
- Controllers/ // 控制器文件
- Middleware/ // 中间件文件
- ...
- Providers/ // 初始化配置文件
- ...
- bootstrap/ // 引导 Laravel 应用的文件目录
- app.php
- cache/
- config/ // 应用程序配置文件,如数据库、邮件服务等配置
- database/ // 数据库访问、迁移、填充等目录
- public/ // 可供访问的 css、JavaScript、静态图片资源等
- resources/ // Laravel 资源目录,如 Lang, Views 等
- views/
- routes/ // 路由目录
- storage/ // 存储目录,如文件、缓存等文件
- tests/ // 测试文件
- vendor/ // Composer 依赖库
- .env // 环境配置文件
- .gitignore
- composer.json
- composer.lock
- package.json
- phpunit.xml // PHPUnit 配置文件
- server.php // PHP 内置服务器目录配置文件
在 routes/web.php
文件中定义路由:
Route::get('/', function () {
return view('welcome');
});
上面的代码定义了一个路由但并没有指定访问的控制器,直接返回了一个视图模板。在 Laravel 中可以使用路由返回任何想要的内容。
在控制器中定义一个方法,这个方法返回一个视图模板:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('user.index');
}
}
在 routes/web.php
文件中定义路由指定访问的控制器:
Route::get('/user', 'UserController@index');
视图是展示给用户看的文件,视图文件位于 resources/views
目录下。
在控制器中返回一个视图,如下:
public function index()
{
return view('user.index');
}
在 Laravel 中,可以使用 Eloquent ORM 或 Query Builder 两种方式进行数据库操作。
首先在数据库中创建一个 users 表,通过 Eloquent ORM 查询:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\User;
class UserController extends Controller
{
public function index()
{
// 使用 Eloquent ORM 查询
$users = User::all();
return view('user.index', compact('users'));
}
}
在视图模板中遍历返回的数据:
@foreach($users as $user)
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ $user->name }}</h5>
<h6 class="card-subtitle mb-2 text-muted">{{ $user->email }}</h6>
<p class="card-text">{{ $user->password }}</p>
</div>
</div>
@endforeach
使用 Query Builder 查询结果:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class UserController extends Controller
{
public function index()
{
// 使用 Query Builder 查询
$users = DB::table('users')->get();
return view('user.index', compact('users'));
}
}
在视图模板中遍历返回的数据:
@foreach($users as $user)
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ $user->name }}</h5>
<h6 class="card-subtitle mb-2 text-muted">{{ $user->email }}</h6>
<p class="card-text">{{ $user->password }}</p>
</div>
</div>
@endforeach
Laravel 是一个优秀的 PHP 开发框架,具有优秀的功能和性能,即使是初学者也可以快速上手并开发出完整的应用。本文介绍了 Laravel 的安装、配置、应用程序结构以及常见的操作,希望能对 PHP 程序员们有所帮助。