Valet 4.0 发布

发布时间 作者

Valet 4.0 is released image

Valet 4 正式发布!让我们来看看 v4 提供了什么以及如何今天升级您的本地安装。

背景

Valet 最初是在 2016 年 5 月与 这段精彩的视频 一起介绍的。Valet v2 不久后发布,带来了从 Caddy 到 Nginx 的迁移。但此后,Valet 的开发速度放缓;正如 Taylor 经常指出的那样,“在那时,Valet 的功能已经很完整了。”

然而,几年前我接手 Valet 的维护时,我注意到两件事:首先,许多人需要为他们的不同站点使用不同的 PHP 版本;其次,多年来解决的各种功能和错误修复使得代码库有时难以理解。

Valet v3 发布 于 2022 年 3 月,其主要重点是添加对同一台机器上并行运行多个 PHP 版本的支持。

现在,我们来看看 Valet v4。

Valet 4 的新功能

Valet 4 中最重要的变化是您从外部甚至无法看到的:项目的内部结构已被重新设计并经过大量测试。明确地说,它们已被重新设计Taylor 和 Adam 最初代码的简单风格。但它们现在涵盖了所有形式的单元和集成测试,并且自 Valet 2 以来所做的更改现在得到了更好的集成。

这意味着什么?

Valet 4 是迄今为止最稳定、最易于调试和最易于修复的 Valet 版本。

Valet 4 中的新功能

有一些面向用户的新的功能

  • valet status 命令:如果您运行 valet status,您将获得一个表格,显示您 Valet 应用程序的一些重要方面的“运行状况”。这很有用,因为您可以在调试时使用它,但与任何优秀的 CLI 工具一样,它还将返回成功或失败的代码,其他 CLI 工具可以使用这些代码。
  • 对 ngrok 的升级:如果您使用 ngrok 共享您的站点,旧版本的 Valet 将 ngrok 捆绑为安装。现在,Valet 会提示您通过 Homebrew 安装 ngrok,允许您安装一个通用的版本,并允许您根据需要保持更新。
  • 公开为共享选项:如果您使用 Expose 共享您的站点,它现在已集成到 Valet 中!运行 valet share-tool expose,如果您没有安装 Expose,它会提示您安装它。一旦您 设置您的 Expose 令牌,您就可以使用您熟悉的 valet share 命令进行共享。

升级说明

如果您要从 Valet 3 升级,这是我推荐的升级方式

  1. 编辑您的 ~/.composer/composer.json 文件并将您的 Valet 需求更新为 "^4.0"
  2. 更新:composer global update laravel/valet
  3. 运行 valet install

确保您运行 valet install,因为它将检查您系统的兼容性并为您升级一些配置文件。

自定义驱动程序

如果您有任何自定义驱动程序,您需要将它们更新以匹配 新语法(基本上,驱动程序现在是命名空间的,并且具有类型提示和返回类型)。

.valetphprc

如果您使用 .valetphprc 来定义您站点的 PHP 版本,您需要将这些文件重命名为 .valetrc 并更改它们的内容;.valetphprc 文件只包含一个 PHP Brew 公式(例如 [email protected]),但新的 .valetrc 文件是更广泛的配置文件,因此您需要在公式前面加上 php=

因此,如果您的项目有此 .valetphprc 文件

您需要将其重命名为 .valetrc 并将其内容更新为以下内容

向后兼容性:PHP 7.1-7.4

Valet 4 需要通过 Homebrew 在您的系统上安装 PHP 8.0+。正如我已经提到的,您可以使用 Valet 的隔离功能将各个站点设置为使用旧版本的 PHP,回溯到 7.1。

但是,如果您有理由需要将 PHP 7.1-7.4 作为您的主要链接 PHP(这意味着如果您只键入 php -v 您会看到 7.1 到 8.0 之间的内容),您可以这样做!只要确保您在机器上安装了现代版本的 PHP,Valet 将使用该版本运行其内部命令。

但是,快速警告:如果您使用 Valet 4 并且您的主要链接的 PHP 版本低于 PHP 8,那么您所有的本地 Valet CLI 命令将运行得稍微慢一些,因为它们必须找到您的现代 PHP 安装并通过它代理它们的调用。

未来

就这样!Valet 4 的主要目标是稳定性,但它也为未来打开了更多选择。首先,.valetrc 文件比 .valetphprc 更强大,我们可以让它更加可配置。其次,我放弃了一个名为 Extensions 的概念,该概念基本上完全没有使用,希望在不久的将来构建一个插件系统。

如果您在 Twitter 上关注我重建 Valet v4 的旅程,您可能已经看到我尝试让它在 Linux 上运行。遗憾的是,那并不成功,但我仍然梦想着有一天再次尝试它。没有承诺……但它仍然是一个梦想!

我希望你们都喜欢 Valet 4。享受吧!

Matt Stauffer photo

Tighten 的联合创始人兼首席执行官。 Laravel:入门 的作者,以及 Laravel 播客Laravel 商业播客 的主持人。

归类于
Cube

Laravel 新闻稿

加入 40,000 多名其他开发者,绝不错过任何新技巧、教程等等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发者必备的代码运行器。使用 AI、自动完成功能和即时反馈在本地和生产环境中进行调试。

Tinkerwell
No Compromises logo

无妥协

Joel 和 Aaron,两位来自无妥协播客的经验丰富的开发者,现在可以为您的 Laravel 项目提供服务。 ⬧ 固定费用 $7500/月。 ⬧ 无需冗长的销售流程。 ⬧ 无需合同。 ⬧ 100%退款保证。

无妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,以确保您的 Web 应用程序成功。

Kirschbaum
Shift logo

Shift

使用旧版本的 Laravel?即时、自动化的 Laravel 升级和代码现代化,让您的应用程序保持新鲜感。

Shift
Bacancy logo

Bacancy

以每月仅 $2500 的价格,为您的项目配备一位经验丰富的 Laravel 开发者,拥有 4-6 年的经验。获得 160 小时的专业知识和 15 天的无风险试用期。立即预约通话!

Bacancy
Lucky Media logo

Lucky Media

现在就来体验 Lucky - Laravel 开发的理想之选,拥有十多年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel 电子商务

Laravel 的电子商务。一个开源包,将现代无头电子商务功能的力量带到 Laravel。

Lunar: Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 职位招聘网站

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动套件

SaaSykit 是一个 Laravel SaaS 启动套件,包含运行现代 SaaS 所需的所有功能。支付、精美结账、管理面板、用户仪表盘、身份验证、就绪组件、统计、博客、文档等。

SaaSykit: Laravel SaaS 启动套件
Rector logo

Rector

您的无缝 Laravel 升级合作伙伴,降低成本,加速创新,助力企业成功。

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成,增强您的 PHP 应用程序,使开发者能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。探索 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的无依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

将 Swagger UI 添加到您的 Laravel 应用程序

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel 提示构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包将评论添加到您的 Laravel 应用程序

阅读文章