Installation
认识 Laravel
Laravel 是一个具有表现力和优雅语法的 Web 应用程序框架。 Web 框架为创建您的应用程序提供了一个结构和起点,让您可以专注于创建令人惊奇的东西,而我们则专注于细节。
Laravel 致力于提供令人惊叹的开发人员体验,同时提供强大的功能,例如彻底的依赖注入、富有表现力的数据库抽象层、队列和计划作业、单元和集成测试等。
无论您是 PHP Web 框架的新手还是已有多年经验,Laravel 都是一个可以与您一起成长的框架。我们将帮助您迈出成为 Web 开发人员的第一步,或者在您将专业知识提升到新水平时助您一臂之力。我们迫不及待地想看看你建造了什么。
Note Laravel 新手?查看Laravel 训练营 在我们引导您构建您的第一个 Laravel 应用程序的同时,亲身体验该框架。
为什么选择 Laravel?
在构建 Web 应用程序时,有多种工具和框架可供您使用。但是,我们相信 Laravel 是构建现代全栈 Web 应用程序的最佳选择。
渐进式框架
我们喜欢称 Laravel 为“渐进式”框架。这样,我们的意思是 Laravel 与你一起成长。如果您刚刚迈出 web 开发的第一步,Laravel 庞大的文档、指南和视频教程 将帮助您掌握诀窍而不会不知所措。
如果你是一名高级开发人员,Laravel 为你提供了强大的工具依赖注入,单元测试,queues,实时事件, 和更多。 Laravel 针对构建专业的 Web 应用程序进行了微调,并准备好处理企业工作负载。
可扩展的框架
Laravel 具有令人难以置信的可扩展性。由于 PHP 的扩展友好特性和 Laravel 对快速分布式缓存系统(如 Redis)的内置支持,使用 Laravel 进行水平扩展变得轻而易举。事实上,Laravel 应用程序已经很容易扩展到每月处理数亿个请求。
需要极端缩放?像这样的平台Laravel 蒸气 允许您在 AWS 最新的无服务器技术上以近乎无限的规模运行您的 Laravel 应用程序。
社区框架
Laravel 结合了 PHP 生态系统中最好的包,以提供最强大和开发人员友好的可用框架。此外,来自世界各地的数千名才华横溢的开发人员拥有为框架做出了贡献.谁知道呢,也许你甚至会成为 Laravel 的贡献者。
你的第一个 Laravel 项目
在创建你的第一个 Laravel 项目之前,你应该确保你的本地机器有 PHP 和Composer 安装。如果你在 macOS 上开发,可以通过以下方式安装 PHP 和 ComposerHomebrew.此外,我们建议安装 Node 和 NPM.
安装 PHP 和 Composer 后,您可以通过 Composer 创建一个新的 Laravel 项目create-project
命令:
composer create-project laravel/laravel example-app
或者,您可以通过 Composer 全局安装 Laravel 安装程序来创建新的 Laravel 项目:
composer global require laravel/installer
laravel new example-app
创建项目后,使用 Laravel 的 Artisan CLI 启动 Laravel 的本地开发服务器serve
命令:
cd example-app
php artisan serve
一旦您启动了 Artisan 开发服务器,您的应用程序就可以在您的 Web 浏览器中访问http://localhost:8000
.接下来,你准备好开始进入 Laravel 生态系统.当然,您可能还想配置数据库.
Note
如果您想在开发 Laravel 应用程序时抢先一步,请考虑使用我们的其中一个入门套件. Laravel 的初学者工具包为您的新 Laravel 应用程序提供后端和前端身份验证脚手架。
Laravel和码头工人
无论您喜欢哪种操作系统,我们都希望尽可能容易地开始使用 Laravel。因此,在本地机器上开发和运行 Laravel 项目有多种选择。虽然您可能希望稍后探索这些选项,但 Laravel 提供了Sail,一个用于运行 Laravel 项目的内置解决方案Docker.
Docker 是一种用于在小型、轻量级“容器”中运行应用程序和服务的工具,这些容器不会干扰本地机器安装的软件或配置。这意味着您不必担心在本地计算机上配置或设置复杂的开发工具,例如 Web 服务器和数据库。要开始,您只需要安装码头工人桌面.
Laravel Sail 是一个轻量级的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互。 Sail 为使用 PHP、MySQL 和 Redis 构建 Laravel 应用程序提供了一个很好的起点,而无需先前的 Docker 经验。
Note
已经是 Docker 专家?不用担心!关于 Sail 的一切都可以使用docker-compose.yml
Laravel 包含的文件。
macOS 入门
如果您在 Mac 上开发并且码头工人桌面 已经安装好了,你可以使用一个简单的终端命令来创建一个新的 Laravel 项目。例如,要在名为“example-app”的目录中创建一个新的 Laravel 应用程序,您可以在终端中运行以下命令:
curl -s "https://laravel.build/example-app" | bash
当然,您可以将此 URL 中的“example-app”更改为您喜欢的任何内容 - 只需确保应用程序名称仅包含字母数字字符、破折号和下划线。 Laravel 应用程序的目录将在您执行命令的目录中创建。
Sail 安装可能需要几分钟时间,因为 Sail 的应用程序容器是在您的本地计算机上构建的。
创建项目后,您可以导航到应用程序目录并启动 Laravel Sail。 Laravel Sail 提供了一个简单的命令行界面来与 Laravel 的默认 Docker 配置进行交互:
cd example-app
./vendor/bin/sail up
应用程序的 Docker 容器启动后,您可以在 Web 浏览器中访问该应用程序:http://localhost.
Note
要继续了解有关 Laravel Sail 的更多信息,请查看其完整的文档.
Windows 入门
在您的 Windows 机器上创建新的 Laravel 应用程序之前,请确保安装码头工人桌面.接下来,您应该确保安装并启用了适用于 Linux 2 (WSL2) 的 Windows 子系统。 WSL 允许您在 Windows 10 上本地运行 Linux 二进制可执行文件。有关如何安装和启用 WSL2 的信息可以在 Microsoft开发环境文档.
Note
安装并启用 WSL2 后,您应该确保 Docker Desktop 是配置为使用 WSL2 后端.
接下来,您已准备好创建您的第一个 Laravel 项目。发射Windows 终端 并为您的 WSL2 Linux 操作系统开始一个新的终端会话。接下来,您可以使用一个简单的终端命令来创建一个新的 Laravel 项目。例如,要在名为“example-app”的目录中创建一个新的 Laravel 应用程序,您可以在终端中运行以下命令:
curl -s https://laravel.build/example-app | bash
当然,您可以将此 URL 中的“example-app”更改为您喜欢的任何内容 - 只需确保应用程序名称仅包含字母数字字符、破折号和下划线。 Laravel 应用程序的目录将在您执行命令的目录中创建。
Sail 安装可能需要几分钟时间,因为 Sail 的应用程序容器是在您的本地计算机上构建的。
创建项目后,您可以导航到应用程序目录并启动 Laravel Sail。 Laravel Sail 提供了一个简单的命令行界面来与 Laravel 的默认 Docker 配置进行交互:
cd example-app
./vendor/bin/sail up
应用程序的 Docker 容器启动后,您可以在 Web 浏览器中访问该应用程序:http://localhost.
Note
要继续了解有关 Laravel Sail 的更多信息,请查看其完整的文档.
在 WSL2 中开发
当然,您需要能够修改在 WSL2 安装中创建的 Laravel 应用程序文件。为此,我们建议使用 Microsoft 的视觉工作室代码 编辑器及其第一方扩展远程开发.
安装这些工具后,您可以通过执行以下命令打开任何 Laravel 项目code .
使用 Windows 终端从应用程序的根目录中执行命令。
Linux 入门
如果你在 Linux 上开发并且码头工人组成 已经安装好了,你可以使用一个简单的终端命令来创建一个新的 Laravel 项目。例如,要在名为“example-app”的目录中创建一个新的 Laravel 应用程序,您可以在终端中运行以下命令:
curl -s https://laravel.build/example-app | bash
当然,您可以将此 URL 中的“example-app”更改为您喜欢的任何内容 - 只需确保应用程序名称仅包含字母数字字符、破折号和下划线。 Laravel 应用程序的目录将在您执行命令的目录中创建。
Sail 安装可能需要几分钟时间,因为 Sail 的应用程序容器是在您的本地计算机上构建的。
创建项目后,您可以导航到应用程序目录并启动 Laravel Sail。 Laravel Sail 提供了一个简单的命令行界面来与 Laravel 的默认 Docker 配置进行交互:
cd example-app
./vendor/bin/sail up
应用程序的 Docker 容器启动后,您可以在 Web 浏览器中访问该应用程序:http://localhost.
Note
要继续了解有关 Laravel Sail 的更多信息,请查看其完整的文档.
选择您的航海服务
当通过 Sail 创建一个新的 Laravel 应用程序时,你可以使用with
查询字符串变量以选择应在新应用程序的配置中配置哪些服务docker-compose.yml
文件。可用服务包括mysql
,pgsql
,mariadb
,redis
,memcached
,meilisearch
,minio
,selenium
, 和mailpit
:
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
如果您不指定要配置的服务,则默认堆栈mysql
,redis
,meilisearch
,mailpit
, 和selenium
将被配置。
您可以指示 Sail 安装一个默认的Devcontainer 通过添加devcontainer
URL 的参数:
curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash
初始配置
Laravel 框架的所有配置文件都存储在config
目录。每个选项都记录在案,因此请随意浏览文件并熟悉可用的选项。
Laravel 几乎不需要开箱即用的额外配置。您可以自由地开始开发!但是,您可能希望查看config/app.php
文件及其文档。它包含几个选项,例如timezone
和locale
您可能希望根据您的应用程序进行更改。
基于环境的配置
由于 Laravel 的许多配置选项值可能会根据您的应用程序是在本地计算机上运行还是在生产 Web 服务器上运行而有所不同,因此许多重要的配置值是使用.env
存在于应用程序根目录中的文件。
你的.env
文件不应提交给您的应用程序的源代码管理,因为使用您的应用程序的每个开发人员/服务器可能需要不同的环境配置。此外,如果入侵者获得对您的源代码控制存储库的访问权限,这将是一个安全风险,因为任何敏感的凭据都会被暴露。
Note
有关的更多信息.env
基于文件和环境的配置,查看完整的配置文档.
数据库和迁移
现在您已经创建了 Laravel 应用程序,您可能想要将一些数据存储在数据库中。默认情况下,您的应用程序的.env
配置文件指定 Laravel 将与 MySQL 数据库交互并将访问数据库127.0.0.1
.如果你在 macOS 上开发并且需要在本地安装 MySQL、Postgres 或 Redis,你可能会发现使用它很方便DBngin.
如果你不想在你的本地机器上安装 MySQL 或 Postgres,你总是可以使用SQLite数据库。 SQLite 是一个小型、快速、独立的数据库引擎。首先,通过创建一个空的 SQLite 文件来创建一个 SQLite 数据库。通常,此文件将存在于database
Laravel 应用程序的目录:
touch database/database.sqlite
接下来,更新您的.env
使用 Laravel 的配置文件sqlite
数据库驱动程序。您可以删除其他数据库配置选项:
DB_CONNECTION=sqlite # [tl! add]
DB_CONNECTION=mysql # [tl! remove]
DB_HOST=127.0.0.1 # [tl! remove]
DB_PORT=3306 # [tl! remove]
DB_DATABASE=laravel # [tl! remove]
DB_USERNAME=root # [tl! remove]
DB_PASSWORD= # [tl! remove]
配置 SQLite 数据库后,您可以运行应用程序的数据库迁移,这将创建您的应用程序的数据库表:
php artisan migrate
下一步
现在您已经创建了 Laravel 项目,您可能想知道接下来要学习什么。首先,我们强烈建议您通过阅读以下文档来熟悉 Laravel 的工作原理:
你想如何使用 Laravel 也将决定你旅程的下一步。有多种使用 Laravel 的方法,我们将在下面探索该框架的两个主要用例。
Note Laravel 新手?查看Laravel 训练营 在我们引导您构建您的第一个 Laravel 应用程序的同时,亲身体验该框架。
Laravel 全栈框架
Laravel 可以作为一个完整的堆栈框架。通过“全栈”框架,我们的意思是您将使用 Laravel 将请求路由到您的应用程序并通过以下方式呈现您的前端刀片模板 或单页应用程序混合技术,如Inertia.这是使用 Laravel 框架最常见的方式,在我们看来,这是使用 Laravel 最高效的方式。
如果这是您计划使用 Laravel 的方式,您可能需要查看我们的文档前端开发,routing,views, 或者雄辩的ORM.此外,您可能有兴趣了解社区包,例如Livewire 和Inertia.这些包允许您将 Laravel 用作全栈框架,同时享受单页 JavaScript 应用程序提供的许多 UI 优势。
如果您将 Laravel 用作全栈框架,我们也强烈建议您学习如何编译应用程序的 CSS 和 JavaScript,使用Vite.
Note
如果您想抢先一步构建您的应用程序,请查看我们的官方网站之一应用入门套件.
Laravel API 后端
Laravel 还可以作为 JavaScript 单页应用程序或移动应用程序的 API 后端。例如,你可以使用 Laravel 作为你的 API 后端Next.js 应用。在这种情况下,您可以使用 Laravel 来提供authentication 为您的应用程序存储和检索数据,同时还可以利用 Laravel 强大的服务,例如队列、电子邮件、通知等。
如果这是您计划使用 Laravel 的方式,您可能需要查看我们的文档routing,Laravel 圣殿, 和雄辩的ORM.
Note
需要抢先搭建 Laravel 后端和 Next.js 前端的脚手架吗? Laravel Breeze 提供了一个API堆栈 以及ASANext.js 前端实现 所以你可以在几分钟内开始。