编程

Laravel Sail 完全指南

1022 2023-10-13 19:06:00

Laravel Sail 是一个轻量型的命令行接口,用于和 Laravel 默认的 Docker 开发环境进行交互。它提供了一个简单的方式来启动了管理 Laravel 开发环境,对于独立开发者和团队都是极好的工具。在本文中,我们将全面了解什么是Laravel Sail,如何设置它,以及如何在开发工作流中使用它。

先决条件

在进入 Laravel Sail 之前,重要的是要确保您拥有以下内容:

理解 Docker 

  • 本地安装 Laravel
  • 命令行的基本理解

 

安装

要安装 Laravel Sail,你需要在机器上先安装以下软件:

  • Docker
  • Docker Compose

 

安装完后,你需要在终端中运行以下命令安装 Laravel Sail:composer global require laravel/sail

 

创建新项目

一旦安装过 Laravel Sail,你可以使用如下命令安装新的 Laravel 项目:

laravel new project-name

 

这将在目录中创建一个名为 project-name 的新 Laravel 项目。使用如下命令进入该目录:

cd project-name

 

搭建开发环境

安装了新 Laravel 项目,你现在可以使用 Laravel Sail 来建立开发环境。要执行此操作,请在终端中运行以下命令:

sail up

 

这将为您的开发环境启动 Docker 容器,包括一个 web 服务器和一个数据库。你可以通过 http://localhost:8000 在浏览器中访问 Laravel 项目。

 

管理开发环境

Laravel Sail 提供了很多有用的命令用来管理开发环境。以下是一些最常用的命令:

  • sail up: 启动开发环境
  • sail down: 停止开发环境
  • sail logs: 查看开发环境日志
  • sail ps: 查看开发环境状态
  •  

使用 Laravel Sail 创建 CRUD 应用

本章节,我们将使用 Laravel Sail 创建一个简单的 CRUD 应用。

  1. 使用 laravel new project-name 命令创建新的 Laravel 项目。
  2.  cd project-name 命令进入项目目录。
  3. 使用 sail up 命令启动开发环境。
  4. 使用 php artisan make:model ModelName 命令创建新的模型
  5. 使用 php artisan make:migration create_model_name_table 命令创建新的迁移文件
  6. 修改迁移文件,并添加必要的字段和约束。
  7. 使用 php artisan migrate 命令运行 migration
  8. 使用 php artisan make:controller ControllerName --model=ModelName 命令,创建新的控制器
  9. 修改控制器使之包含必要的 CRUD 方法
  10. 使用 php artisan make:view view-name 命令创建新的视图
  11. 在  web.php 或者 api.php 中定义路由文件
  12. 在浏览器中访问路由或者使用 API 测试工具测试应用

使用这些步骤,我们创建了一个基本的 CRUD 应用。

 

注意: 如果你在此过程中碰到任何问题,可以到开发者社区中向其他开发者求助。

以下使用 Laravel Sail 为 “Task” 模型创建 CRUD 控制器的示例:

<?php

namespace App\Http\Controllers;

use App\Task;
use Illuminate\Http\Request;

class TaskController extends Controller
{
/**
* Display a listing of the tasks.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$tasks = Task::all();
return view('tasks.index', compact('tasks'));
}
/**
 * Show the form for creating a new task.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return view('tasks.create');
}

/**
 * Store a newly created task in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $task = new Task();
    $task->name = $request->name;
    $task->save();
    return redirect()->route('tasks.index');
}

/**
 * Display the specified task.
 *
 * @param  \App\Task  $task
 * @return \Illuminate\Http\Response
 */
public function show(Task $task)
{
    return view('tasks.show', compact('task'));
}

/**
 * Show the form for editing the specified task.
 *
 * @param  \App\Task  $task
 * @return \Illuminate\Http\Response
 */
public function edit(Task $task)
{
    return view('tasks.edit', compact('task'));
}

/**
 * Update the specified task in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \App\Task  $task
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, Task $task)
{
    $task->name = $request->name;
    $task->save();
    return redirect()->route('tasks.index');
}

/**
 * Remove the specified task from storage.
 *
 * @param  \App\Task  $task
 * @return \Illuminate\Http\Response
 */
public function destroy(Task $task)
{
    $task->delete();
    return redirect()->route('tasks.index');
}
}

这只是一个示例,你可以根据自己的需求自定义更多功能。

注意:请记住你需要同时为其创建视图和路由。

Laravel Sail 使其容易启动和管理 Laravel 开发环境,不过,如果你碰到任何问题或者想节省时间和经历,你可以请其他开发者帮你安装或管理开发环境。

总结

Laravel Sail 是一个管理 Laravel 开发环境的强大工具,对于独立开发者和团队都是很好的选择。凭借其易于使用的命令行界面,它简化了启动和管理开发环境的过程,为开发人员节省了时间和精力。

 

无论您是经验丰富的开发人员还是 Laravel 的新手,Laravel Sail 都是一个有价值的工具,可以帮助您简化开发工作流程。