安装

未匹配的标注
本文档最新版为 10.x,旧版本可能放弃维护,推荐阅读最新版!

安装#

接触 Laravel#

Laravel 是一个 Web 应用框架,有着表现力强、语法优雅的特点。 Web 框架为创建应用提供了一个结构和起点。你只需专注代码,我们为你处理细节。

Laravel 致力于提供出色的开发体验,同时提供强大的特性,例如完全的依赖注入,富有表现力的数据库抽象层,队列和计划任务,单元和集成测试等等。

无论你是刚刚接触 PHP 和 Web 框架的新人,亦或是有着多年经验的老手, Laravel 都是一个可以与你一同成长的框架。我们将帮助你迈出成为 Web 开发者的第一步,或是将你的经验提高到下一个等级。我们迫不及待的想看看你的作品。

为什么选择 Laravel?#

有非常多的工具和框架可以被用于构建一个 Web 应用。但我们相信 Laravel 是构建现代化、全栈 Web 应用的最佳选择。

一个渐进式框架#

我们喜欢称 Laravel 是一个「渐进式」框架。意思是 Laravel 将与你一同成长。如果你只是一只脚踏进 Web 开发, Laravel 大量的文档、指南和 视频教程 将帮助你熟悉使用技巧而不至于不知所措。

如果您是一名高级开发人员,Laravel 为您提供健壮的工具,用于 依赖注入单元测试队列广播系统 等等。Laravel 为构建专业的 Web 应用程序进行了微调,并准备好处理企业工作负载。

一个可扩展的框架#

Laravel 具有难以置信的可扩展性。由于 PHP 的灵活性以及 Laravel 对 Redis 等快速分布式缓存系统的内置支持,使用 Laravel 进行扩展是轻而易举的事。事实上,Laravel 应用程序已经很容易扩展到每月处理数亿个请求。

需要压缩开发费用吗?Laravel Vapor 允许你在 AWS 最新的无服务器技术上以几乎无限的规模运行 Laravel 应用程序。

一个社区化的框架#

Laravel 结合了 PHP 生态系统中最好的软件包,提供了最健壮、对开发人员友好的框架。此外,来自世界各地的数千名有才华的开发人员 为框架做出了贡献。 谁知道呢,也许你就是下一个 Laravel 的贡献者。

你的第一个 Laravel 项目#

我们希望这是尽可能容易地开始 Laravel。在您自己的计算机上开发和运行 Laravel 项目有多种选择。虽然您可能希望以后再研究这些选项,但 Laravel 提供了 Sail,这是一个内置的解决方案,用于使用 Docker 运行 Laravel 应用。

Docker 是一种在小型、轻量级的 “容器” 中运行应用程序和服务的工具,它不会干扰本地计算机安装的软件或配置。这意味着您不必担心在个人计算机上配置或设置复杂的开发工具,例如 web 服务器和数据库。要开始,您只需安装 Docker Desktop

Laravel Sail 是一个与 Laravel 默认 Docker 开发环境进行交互的轻量级命令行界面。Sail 为使用 PHP、MySQL、Redis 构建 Laravel 应用提供了很好的起点,不需要有任何 Docker 经验就可以轻松上手。

技巧:如果已经使用了 Docker? 别担心!可以使用 Laravel 附带的 docker-compose.yml 文件自定义有关 Sail 的所有内容。

在 MacOS 使用 Laravel Sail#

如果在 Mac 上已经安装了 Docker, 可以直接使用命令来创建 Laravel 项目。例如:要在名为 “example-app” 的目录中创建新的 Laravel 应用,可以在终端中运行以下命令:

curl -s "https://laravel.build/example-app" | bash

当然,您可以将此 URL 中的 “example-app” 更改为您喜欢的任何内容。Laravel 应用程序的目录将在执行命令的目录中创建。

创建项目后,您可以导航到应用程序目录并启动 Laravel Sail。 Laravel Sail 提供了一个简单的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互:

cd example-app

./vendor/bin/sail up

第一次运行 Sail up 命令时,Sail 的应用程序容器将在您的计算机上构建。 这可能需要几分钟

一旦启动了应用程序的 Docker 容器,您就可以在 Web 浏览器中访问该应用程序,网址为:http://localhost

技巧:更多关于 Laravel Sail 的 详细文档

Windows 入门#

在新建 Laravel 应用前,请确保你的 Windows 电脑已经安装了 Docker Desktop。之后,请确保已经安装并启用了适用于 Linux 的 Windows 子系统 2 (WSL2)。 WSL 允许你在 Windows 10 上运行 Linux 二进制文件。关于如何安装并启用 WSL2,请参阅微软 开发者环境文档.

技巧:安装并启用 WSL2 后,请确保 Docker Desktop 已经 配置为使用 WSL2 后端

接下来,准备创建你的第一个 Laravel 项目。启动 Windows Terminal,为 WSL2 Linux 操作系统打开一个终端。之后,你可以使用简单的命令来新建 Laravel 项目。比如,想要在「example-app」文件夹中新建 Laravel 应用,可以在终端中运行以下命令:

curl -s https://laravel.build/example-app | bash

当然,你可以任意更改 URL 中的「example-app」。Laravel 应用将被创建在执行命令的文件夹中。

创建项目后,你可以切换到应用目录并启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行接口,用于和 Laravel 默认 Docker 配置进行交互:

cd example-app

./vendor/bin/sail up

在您首次运行 Sail 的 up 命令的时候,Sail 的应用容器将会在您的机器上进行编译。这个过程将会花费一段时间。不要担心,以后就会很快了。

一旦应用的 Docker 容器启动了,您便可在 Web 浏览器中通过 localhost 访问您的应用了。

技巧:要继续学习更多关于 Laravel Sail 的知识,请参阅 详细文档

使用 WSL2 进行开发#

当然,您需要能够修改在 WSL2 安装中创建的 Laravel 应用程序文件。我们推荐您使用微软的 Visual Studio Code 编辑器并搭配其 Remote Development 扩展,它们可以帮助您实现之。

一旦这些工具成功安装,您可以使用 Windows Terminal 在应用根目录执行 code . 命令来打开任何 Laravel 项目。

在 Linux 使用 Laravel Sail#

如果在 Linux 开发,并且已经安装了 Docker,您可以使用简单的终端命令来创建一个新的 Laravel 项目。例如,要在「example-app」目录中创建新的 Laravel 应用,您可以在终端中运行如下命令:

curl -s https://laravel.build/example-app | bash

当然,您可以将 URL 中的「example-app」替换为任何您喜欢的内容。Laravel 应用程序的目录将在执行命令的目录中创建。

在项目创建完成后,您可以导航至应用目录和启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行接口,用于与 Laravel 的默认 Docker 配置进行交互:

cd example-app

./vendor/bin/sail up

在您首次运行 Sail 的 up 命令的时候,Sail 的应用容器将会在您的机器上进行编译。这个过程将会花费一段时间。不要担心,以后就会很快了。

一旦应用的 Docker 容器启动了,您便可在 Web 浏览器中通过 localhost 访问您的应用了。

技巧:要继续学习更多关于 Laravel Sail 的知识,请参阅 详细文档

选择你的 Sail 服务#

当通过 Sail 创建一个新的 Laravel 应用程序时,你可以通过 with 查询变量来选择哪些服务需要配置到你的新应用程序的 docker-compose.yml 文件。 可选择的服务包括 mysqlpgsqlredismemcachedmeilisearchseleniummailhog

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

如果你没有制定你想配置的服务,默认将配置 mysqlredismeilisearchmailhogselenium

通过 Composer 安装#

如果你的终端已经安装了 PHP 和 Composer,你可以直接使用 Composer 来创建一个新的 Laravel 项目。 当应用程序创建完成后,你可以通过 Artisan CLI 的 serve 命令来启动 Laravel 的本地服务:

composer create-project laravel/laravel example-app

cd example-app

php artisan serve

通过 Laravel 安装器#

或者,你可以通过 Laravel 安装器作为全局 Composer 依赖:

composer global require laravel/installer

laravel new example-app

cd example-app

php artisan serve

请确保将 Composer 的全局 vendor bin 目录放置在你的系统环境变量 $PATH 中,以便系统可以找到 laravel 的可执行文件。在不同的操作系统中,该目录的路径也不相同;下面列出一些常见的位置:

  • macOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU / Linux 发行版: $HOME/.config/composer/vendor/bin 或者 $HOME/.composer/vendor/bin

初始配置#

Laravel 框架的所有配置文件都存储在 config 目录中。每个选项都有文档记录,所以请随意浏览这些文件并熟悉可用的选项。

Laravel 几乎不需要额外的配置。您可以自由地开始开发!然而,你可能希望查看 config/app.php 文件及其文档。它包含几个选项,比如 timezonelocale,你可能希望根据你的应用程序进行更改。

基于环境的配置#

由于 Laravel 的许多配置选项值可能会根据应用程序是运行在本地还是生产 Web 服务器上而有所不同,所以许多重要的配置值都是使用存在于应用程序根目录的 .env 文件定义的。

你的 .env 文件不应该提交给应用程序的源代码管理程序,因为使用你的应用程序的每个开发人员 / 服务器都可能需要不同的环境配置。此外,如果入侵者获得了对源代码控制存储库的访问,这将是一个安全风险,因为任何敏感的凭据都将被暴露。

技巧:有关 .env 文件和基于环境的配置的更多信息,请查看完整的 配置文档

下一步#

现在你已经创建了你的 Laravel 项目,你可能想知道接下来要学习什么。首先,我们强烈建议大家通过阅读以下文档来熟悉 Laravel 的工作原理:

你想如何使用 Laravel 也将指示您的旅程中的下一步。有多种使用 Laravel 的方法,我们将在下面的框架中探索两个主要的用例。

将 Laravel 用作全栈框架#

Laravel 可以用作全栈框架。「全栈」框架意味着请求你将路由到 Laravel 应用程序中,并通过 Blade 模板 或使用单页混合渲染前端。类似 Inertia.js 之类的技术。 这是 Laravel 框架最常用的使用方式。

如果您将 Laravel 用作全栈框架,我们也强烈建议你学习如何使用 Laravel Mix 来编译应用程序的 CSS 和 JavaScript。

技巧:如果你开始构建应用程序,请查看我们的官方 应用程序入门工具包

将 Laravel 用作 API 后端#

Laravel 还可以用作 JavaScript 单页应用程序或移动应用程序的 API 后端。例如,你可以将 Laravel 用作 Next.js 应用程序的 API 后端。在这种情况下,你可以使用 Laravel 为你的应用程序提供 身份验证 和数据存储 / 检索,同时还可以利用 Laravel 强大的服务,例如队列,电子邮件,通知和更多其他功能。

如果你打算以此方式使用 Laravel,则可能需要查看 路由SanctumEloquent ORM 的相关知识。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/laravel/8.5/ins...

译文地址:https://learnku.com/docs/laravel/8.5/ins...

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
贡献者:14
讨论数量: 14
发起讨论 只看当前版本


light-and-dark
excel 导出
1 个点赞 | 5 个回复 | 代码速记 | 课程版本 8.5
admin7742
CURLPOST
0 个点赞 | 5 个回复 | 代码速记 | 课程版本 8.x
SnowZh
使用 Laravel sail 如何安装指定版本?
0 个点赞 | 2 个回复 | 问答 | 课程版本 8.5
abc123123123456
敏感词过滤
0 个点赞 | 1 个回复 | 分享 | 课程版本 8.5
abc123123123456
七牛云扩展
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.5
kang_lin
比较明亮的显示
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.5
jianghushusheng
图片分割
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
esssd
date 高亮显示
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
jianghushusheng
gcms
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
hei123
php artisan make:command withdraw
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
Queen_Lr
发送验证码
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.x
XiaoSir
图片防盗链
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
anningri
laravel new 不出东西来
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8
jiayier
如何让 API 的返回数据格式统一(Laravel5.8)
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8