<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Laravel Archives - 原立方</title>
	<atom:link href="https://www.atomic-cube.cn/tag/laravel/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.atomic-cube.cn/tag/laravel/</link>
	<description>技术栈的流动-从零到∞</description>
	<lastBuildDate>Sun, 10 May 2026 13:13:15 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>Laravel 13 AI 辅助开发</title>
		<link>https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/</link>
					<comments>https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[agent skills]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[技术文章]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[vibe coding]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=2058</guid>

					<description><![CDATA[<p>Laravel 官方推出两款 AI 工具：Laravel Boost 为 AI 助手提供应用上下文，实现精准代码生成与调试；Laravel MCP 则作为安全桥梁，允许 AI 代理通过受控端点安全执行应用内操作。两者结合旨在将 AI 深度集成至 Laravel 开发工作流，提升效率与自动化能力，同时确保安全性。</p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/">Laravel 13 AI 辅助开发</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="introduction">简介</h2>



<p class="wp-block-paragraph">Laravel 具有独特的定位，是进行 AI 辅助开发和智能体开发的首选框架。<a href="https://docs.anthropic.com/en/docs/claude-code" target="_blank" rel="noreferrer noopener nofollow">Claude Code</a>、<a href="https://opencode.ac.cn/" target="_blank" rel="noreferrer noopener nofollow">OpenCode</a>、<a href="https://cursor.ac.cn/" target="_blank" rel="noreferrer noopener nofollow">Cursor</a> 和 <a href="https://github.com/features/copilot" target="_blank" rel="noreferrer noopener nofollow">GitHub Copilot</a> 等 AI 编码智能体的兴起，改变了开发人员编写代码的方式。这些工具能够以空前的速度生成完整功能、调试复杂问题并重构代码——但它们的有效性在很大程度上取决于它们对你代码库的理解程度。</p>



<h3 class="wp-block-heading" id="why-laravel-for-ai-development">为何选择 Laravel 进行 AI 开发？</h3>



<p class="wp-block-paragraph">Laravel 固有的约定和定义明确的结构使其成为 AI 辅助开发的理想框架。当你要求 AI 智能体添加一个控制器时，它确切地知道该将其放在哪里。当你需要新的迁移文件时，命名约定和文件位置都是可预测的。这种一致性消除了在更灵活的框架中经常困扰 AI 工具的猜测过程。</p>



<p class="wp-block-paragraph">除了文件组织，Laravel 富有表达力的语法和全面的文档，为 AI 智能体提供了生成准确、地道代码所需的上下文。Eloquent 关系、表单请求和中间件等功能遵循智能体可以可靠理解和复刻的模式。结果就是 AI 生成的代码看起来就像出自资深 Laravel 开发者之手，而不是从通用的 PHP 代码片段中拼凑出来的。</p>



<h2 class="wp-block-heading" id="laravel-boost">Laravel Boost</h2>



<p class="wp-block-paragraph"><a href="https://github.com/laravel/boost" target="_blank" rel="noreferrer noopener nofollow">Laravel Boost</a> 架起了 AI 编码智能体与 Laravel 应用程序之间的桥梁。Boost 是一个 MCP (模型上下文协议) 服务器，配备了 15 种以上的专用工具，为 AI 智能体提供关于应用程序结构、数据库、路由等的深度见解。当你安装 Boost 后，你的 AI 智能体将从通用的代码助手转变为能够理解你特定应用的 Laravel 专家。</p>



<p class="wp-block-paragraph">Boost 提供了三大核心能力：一套用于检查和交互应用程序的 MCP 工具、专为 Laravel 生态系统精心设计的可组合 AI 指南，以及一个包含超过 17,000 条 Laravel 特定知识的强大文档 API。</p>



<h3 class="wp-block-heading" id="installation">安装</h3>



<p class="wp-block-paragraph">Boost 可安装在运行 PHP 8.1 或更高版本的 Laravel 10、11、12 和 13 应用程序中。若要开始，请将 Boost 安装为开发依赖：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>composer require laravel/boost --dev</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">composer</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">require</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">laravel</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">boost</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">--</span><span style="color: #D8DEE9">dev</span></span></code></pre></div>



<p class="wp-block-paragraph">安装完成后，运行交互式安装程序：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>php artisan boost:install</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">php</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">artisan</span><span style="color: #D8DEE9FF"> boost</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9">install</span></span></code></pre></div>



<p class="wp-block-paragraph">安装程序将自动检测你的 IDE 和 AI 智能体，允许你选择适合项目的集成。Boost 将生成必要的配置文件，例如用于 MCP 兼容编辑器的 <code>.mcp.json</code> 文件以及用于 AI 上下文的指南文件。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><br>生成的配置文件（如&nbsp;<code>.mcp.json</code>、<code>CLAUDE.md</code>&nbsp;和&nbsp;<code>boost.json</code>）可以安全地添加到你的&nbsp;<code>.gitignore</code>&nbsp;中，如果你希望每位开发者配置自己的环境的话。</p>
</blockquote>



<h3 class="wp-block-heading" id="available-tools">可用工具</h3>



<p class="wp-block-paragraph">Boost 通过模型上下文协议（Model Context Protocol）向 AI 智能体公开了一套全面的工具。这些工具允许智能体深入理解并与你的 Laravel 应用程序进行交互。</p>



<ul class="wp-block-list">
<li><strong>应用程序自省</strong> &#8211; 查询你的 PHP 和 Laravel 版本，列出已安装的包，并检查应用程序的配置和环境变量。</li>



<li><strong>数据库工具</strong> &#8211; 在无需退出对话的情况下，检查数据库模式、执行只读查询并了解数据结构。</li>



<li><strong>路由检查</strong> &#8211; 列出所有已注册的路由及其对应的中间件、控制器和参数。</li>



<li><strong>Artisan 命令</strong> &#8211; 发现可用的 Artisan 命令及其参数，使智能体能够针对你的任务建议并执行正确的命令。</li>



<li><strong>日志分析</strong> &#8211; 读取并分析应用程序的日志文件，以协助调试问题。</li>



<li><strong>浏览器日志</strong> &#8211; 在使用 Laravel 前端工具进行开发时，访问浏览器控制台日志和错误信息。</li>



<li><strong>Tinker 集成</strong> &#8211; 通过 Laravel Tinker 在应用程序上下文中执行 PHP 代码，允许智能体验证假设并确认行为。</li>



<li><strong>文档搜索</strong> &#8211; 搜索 Laravel 生态系统文档，并获得根据你所安装的包版本量身定制的结果。</li>
</ul>



<h3 class="wp-block-heading" id="ai-guidelines">AI 指南（AI Guidelines）</h3>



<p class="wp-block-paragraph">Boost 包含一套专门为 Laravel 生态系统精心制作的全面 AI 指南。这些指南教导 AI 智能体如何编写符合习惯的 Laravel 代码、遵循框架约定并避免常见陷阱。指南是可组合且具备版本感知能力的，这意味着智能体接收到的指令将完全适配你所使用的确切包版本。</p>



<p class="wp-block-paragraph">指南涵盖了 Laravel 本身以及 Laravel 生态系统中的 16 个以上的包，包括：</p>



<ul class="wp-block-list">
<li>Livewire (2.x, 3.x, 和 4.x)</li>



<li>Inertia.js (React, Svelte, 和 Vue 变体)</li>



<li>Tailwind CSS (3.x 和 4.x)</li>



<li>Filament (3.x 和 4.x)</li>



<li>PHPUnit</li>



<li>Pest PHP</li>



<li>Laravel Pint</li>



<li>以及更多</li>
</ul>



<p class="wp-block-paragraph">当你运行&nbsp;<code>boost:install</code>&nbsp;时，Boost 会自动检测你的应用程序使用了哪些包，并将相关的指南整合到项目的 AI 上下文文件中。</p>



<h3 class="wp-block-heading" id="agent-skills">智能体技能（Agent Skills）</h3>



<p class="wp-block-paragraph"><a href="https://agentskills.io/home" target="_blank" rel="noreferrer noopener nofollow">智能体技能 (Agent Skills)</a> 是轻量级、针对性的知识模块，智能体可以在处理特定领域时按需激活。与预先加载的指南不同，技能允许仅在相关时加载详细的模式和最佳实践，从而减少上下文冗余并提高 AI 生成代码的相关性。</p>



<p class="wp-block-paragraph">这些技能适用于 Livewire、Inertia、Tailwind CSS、Pest 等主流 Laravel 包。当你运行&nbsp;<code>boost:install</code>&nbsp;并选择技能作为功能时，系统会根据在&nbsp;<code>composer.json</code>&nbsp;中检测到的包自动安装相应的技能。</p>



<h3 class="wp-block-heading" id="documentation-search">文档搜索</h3>



<p class="wp-block-paragraph">Boost 包含一个强大的文档 API，使 AI 智能体能够访问超过 17,000 条 Laravel 生态系统文档。与通用的网络搜索不同，这些文档经过索引、向量化并根据你使用的特定包版本进行了筛选。</p>



<p class="wp-block-paragraph">当智能体需要理解某个功能的工作原理时，它可以搜索 Boost 的文档 API 并获得准确的、特定于版本的相关信息。这消除了 AI 智能体建议已弃用的方法或旧版本框架语法的常见问题。</p>



<h3 class="wp-block-heading" id="agent-integration">智能体集成</h3>



<p class="wp-block-paragraph">Boost 与支持模型上下文协议的流行 IDE 和 AI 工具集成。有关 Cursor、Claude Code、Codex、Gemini CLI、GitHub Copilot 和 Junie 的详细设置说明，请参阅 Boost 文档的 设置你的智能体 (Set Up Your Agents) 部分。</p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/">Laravel 13 AI 辅助开发</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/laravel-13-ai-%e8%be%85%e5%8a%a9%e5%bc%80%e5%8f%91/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Laravel 2026：AI 时代下的 Web 开发新范式</title>
		<link>https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/</link>
					<comments>https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/#respond</comments>
		
		<dc:creator><![CDATA[evans]]></dc:creator>
		<pubDate>Wed, 06 May 2026 04:48:29 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[llm]]></category>
		<guid isPermaLink="false">https://www.atomic-cube.cn/?p=2054</guid>

					<description><![CDATA[<p>从2025年 Laravel 12 的“克制”发布，到2026年 Laravel 13 全面拥抱 AI，Laravel 正在经历怎样的转型？本文带你一文看懂 Laravel 生态的最新动态。</p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/">Laravel 2026：AI 时代下的 Web 开发新范式</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">一、引言：一篇文章引发的思考</h2>



<p class="wp-block-paragraph">2026年初，一篇名为《PHP 现代框架对决 —— Laravel 与 Symfony》的技术对比文章引发热议。笔者在仔细阅读后发现，Laravel 早已不再是那个“简单的 PHP 框架”。过去一年间，它悄然完成了一场蜕变——从 Web 开发的“瑞士军刀”，进化为 AI 时代的“工匠工坊”。</p>



<p class="wp-block-paragraph">与此同时，中国开发者社区也传出好消息：<strong>Laravel China 社区已于 2026 年回归</strong>，论坛重新开放，北京、深圳等地正在召集团队组织。这意味着国内开发者获取中文文档、技术交流、参与社区贡献的渠道正在全面恢复。</p>



<p class="wp-block-paragraph">这一切，要从2025年的 Laracon US 大会说起。</p>



<h2 class="wp-block-heading">二、里程碑事件：Laracon US 2025 的六大重磅发布</h2>



<p class="wp-block-paragraph">2025年7月底，Laracon US 在芝加哥举行。创始人&nbsp;<strong>Taylor Otwell 在主题演讲中宣布了六项重磅更新</strong><a href="https://laravel.com/index.php/blog/everything-we-announced-at-laracon-us-2025" target="_blank" rel="noreferrer noopener"></a>：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">序号</th><th class="has-text-align-left" data-align="left">发布内容</th><th class="has-text-align-left" data-align="left">核心价值</th></tr></thead><tbody><tr><td>①</td><td><strong>Laravel Cloud 全面升级</strong></td><td>MySQL GA、简化定价、Queue 自动伸缩</td></tr><tr><td>②</td><td><strong>下一代 Forge</strong></td><td>支持 JavaScript、Rust 等多语言部署</td></tr><tr><td>③</td><td><strong>AI 增强功能</strong></td><td>向量化文档、AI 驱动的开发辅助</td></tr><tr><td>④</td><td><strong>Laravel 12 改进</strong></td><td>全新 Starter Kits（React/Vue/Livewire）</td></tr><tr><td>⑤</td><td><strong>Nightwatch 优化</strong></td><td>开发者优先的定价与可观测性</td></tr><tr><td>⑥</td><td><strong>Laravel Boost 公测</strong></td><td>让 AI 编码助手深度理解你的 Laravel 项目</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">这六项发布，每一项都指向同一个方向——让 Laravel 开发者以更高效的方式构建、部署和维护现代应用。</p>



<h2 class="wp-block-heading">三、产品矩阵全景：八大核心产品一览</h2>



<h3 class="wp-block-heading">🚀 Laravel Cloud：零配置部署平台</h3>



<p class="wp-block-paragraph">Laravel Cloud 于2025年初正式推出，是 Laravel 团队倾力打造的一站式部署平台。</p>



<p class="wp-block-paragraph"><strong>2025-2026 关键进展：</strong></p>



<ul class="wp-block-list">
<li>2025年7月：MySQL GA（正式可用），支持1 CPU/512MB至16 CPU/64GB规格<a href="https://laravel.com/index.php/blog/everything-we-announced-at-laracon-us-2025" target="_blank" rel="noreferrer noopener"></a></li>



<li>2025年8月：简化定价方案，推出 Starter（免费）/ Growth（$20/月起）/ Business 三级<a href="https://laravel.com/index.php/blog/everything-we-announced-at-laracon-us-2025" target="_blank" rel="noreferrer noopener"></a></li>



<li>2026年初：上线<strong>私有云（Private Cloud）</strong>，提供完全隔离的企业级基础设施<a href="https://laravel.net.cn/blog/laravel-january-product-releases" target="_blank" rel="noreferrer noopener"></a></li>



<li>2026年4月：发布 <strong>Cloud CLI</strong>，基于 Laravel Zero 构建，实现终端全面管理<a href="https://laravel-news.com/index.php/manage-laravel-cloud-from-the-terminal-with-the-new-cloud-cli" target="_blank" rel="noreferrer noopener"></a></li>
</ul>



<p class="wp-block-paragraph">Cloud CLI 的设计极为简洁：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># 快速部署
cloud ship

# 标准部署
cloud deploy

# 远程执行 Artisan 命令
cloud command:run env_123 "php artisan migrate"</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">快速部署</span></span>
<span class="line"><span style="color: #D8DEE9">cloud</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ship</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">标准部署</span></span>
<span class="line"><span style="color: #D8DEE9">cloud</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">deploy</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">远程执行</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Artisan</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">命令</span></span>
<span class="line"><span style="color: #D8DEE9">cloud</span><span style="color: #D8DEE9FF"> command</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9">run</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">env_123</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">php artisan migrate</span><span style="color: #ECEFF4">&quot;</span></span></code></pre></div>



<h3 class="wp-block-heading">🔧 Laravel Forge：服务器管理利器</h3>



<p class="wp-block-paragraph">Forge 在2025年迎来重大更新。最受关注的是&nbsp;<strong>Forge 宣布将支持除 PHP 以外的多种语言</strong>，包括 JavaScript 和 Rust，这是该产品14年历史上首次扩展语言支持。</p>



<p class="wp-block-paragraph">2026年4月，Forge 进一步新增：</p>



<ul class="wp-block-list">
<li>支持 <strong>PHP 8.5</strong><a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a></li>



<li>支持<strong>单个站点安装多个 SSL 证书</strong>，实现证书无风险轮换<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a></li>



<li><strong>证书到期预警</strong>，在过期问题导致停机前主动通知开发者<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a></li>
</ul>



<h3 class="wp-block-heading">👀 Nightwatch：Laravel 专属可观测平台</h3>



<p class="wp-block-paragraph">Nightwatch 提供了为 Laravel 深度优化的一体化监控方案，包括异常监控、慢请求追踪、查询日志、日志查看器等功能<a href="https://laravel-news.com/index.php/laravel-news-2025-recap" target="_blank" rel="noreferrer noopener"></a>。2026年初，Nightwatch 新增了&nbsp;<strong>AI 驱动的问题描述</strong>功能，能自动分析堆栈跟踪并生成根因分析与可行的解决方案<a href="https://laravel.net.cn/blog/laravel-january-product-releases" target="_blank" rel="noreferrer noopener"></a>。</p>



<h3 class="wp-block-heading">🤖 Laravel Boost：AI 编码助手的“外挂”</h3>



<p class="wp-block-paragraph">Boost 是本次 Laracon 发布中最具前瞻性的产品。它为 AI 编码代理（如 GitHub Copilot、OpenCode）提供了一个&nbsp;<strong>Laravel 专属的 MCP（模型上下文协议）服务器</strong>，暴露15+工具供 AI 调用<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph">其中包括：应用信息查询、文档搜索、Tinker 交互、数据库查询、Schema 检查、路由列表、Artisan 命令、错误日志等<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph">更重要的是，Boost 内置了超过&nbsp;<strong>17,000条向量化的 Laravel 生态文档片段</strong>，AI 代理可以检索与你的项目版本精确匹配的文档信息<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。实测中，AI 代理能够精准定位正确的 API，检查数据库结构，甚至运行 Tinker 来生成测试数据<a href="https://laravel.com/blog/announcing-laravel-boost" target="_blank" rel="noreferrer noopener"></a>。</p>



<h3 class="wp-block-heading">🎵 Laravel Reverb：第一方 WebSocket 服务</h3>



<p class="wp-block-paragraph">Reverb 是 Laravel 官方推出的 WebSocket 服务器，原生支持实时通信场景。2025年底，Reverb 在 Laravel Cloud 上作为托管服务推出，用户无需自行运维 WebSocket 基础设施。</p>



<h3 class="wp-block-heading">🧭 Laravel Wayfinder：前后端路由桥梁</h3>



<p class="wp-block-paragraph">Wayfinder 于2025年4月进入公测，能将你的 Laravel 后端路由自动生成为完全类型化的 TypeScript 函数，在前端直接导入调用<a href="https://laravel-news.com/index.php/laravel-news-2025-recap" target="_blank" rel="noreferrer noopener"></a>。前后端接口变更时，TypeScript 编译器会立即报错，彻底告别手写 URL 和手动同步的时代。</p>



<h3 class="wp-block-heading">🔐 Laravel Passkeys：全面拥抱无密码认证</h3>



<p class="wp-block-paragraph">2026年4月，Laravel 将 Passkeys（通行密钥）支持全面融入框架生态<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a>：</p>



<ul class="wp-block-list">
<li><code>laravel/passkeys</code>：服务端 WebAuthn 处理</li>



<li><code>@laravel/passkeys</code>：React、Vue、Svelte 前端组件</li>



<li>Fortify 通过 <code>Features::passkeys()</code> 一键集成</li>
</ul>



<p class="wp-block-paragraph">这意味着开发者可以在 Laravel 应用中轻松实现无密码登录，用户通过指纹、面部识别或设备 PIN 即可安全认证。</p>



<h3 class="wp-block-heading">📦 Laravel AI SDK：统一 AI 接口</h3>



<p class="wp-block-paragraph">Laravel 13 引入了官方 AI SDK，提供对文本生成、工具调用 Agent、Embeddings、音频、图像及向量存储的统一编程接口<a href="https://laravel.com/docs/changelog" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>// 文本生成
$response = SalesCoach::make()->prompt('Analyze this sales transcript...');

// 图像生成
$image = Image::of('A donut sitting on the kitchen counter')->generate();

// 语音合成
$audio = Audio::of('I love coding with Laravel.')->generate();</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">// 文本生成</span></span>
<span class="line"><span style="color: #D8DEE9">$response</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> SalesCoach</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">make</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">prompt</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">Analyze this sales transcript...</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 图像生成</span></span>
<span class="line"><span style="color: #D8DEE9">$image</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> Image</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">of</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">A donut sitting on the kitchen counter</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">generate</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 语音合成</span></span>
<span class="line"><span style="color: #D8DEE9">$audio</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> Audio</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">of</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">I love coding with Laravel.</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">generate</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<p class="wp-block-paragraph">SDK 支持 OpenAI、Anthropic、Gemini、Groq、xAI 等主流服务商，随 Laravel 13 从 Beta 转为稳定版。</p>



<h2 class="wp-block-heading">四、从 v12 到 v13：版本演进路线图</h2>



<h3 class="wp-block-heading">Laravel 12：回归本质</h3>



<p class="wp-block-paragraph">2025年2月24日，Laravel 12 发布。与以往不同，这个版本<strong>几乎没有新增特性</strong><a href="https://laraveldaily.com/post/laravel-12-no-new-features?mtm_campaign=20250227-newsletter" target="_blank" rel="noreferrer noopener"></a>。</p>



<p class="wp-block-paragraph">这并非偷懒，而是刻意的战略选择。Laravel 团队将重心放在了<strong>升级上游依赖和提升稳定性</strong>上，同时将所有新功能以小幅迭代方式在 Laravel 12.x 的周更版本中陆续发布<a href="https://laraveldaily.com/post/laravel-12-no-new-features?mtm_campaign=20250227-newsletter" target="_blank" rel="noreferrer noopener"></a>。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">💡&nbsp;<strong>核心启示</strong>：Laravel 已经足够成熟，不需要依赖大版本号来“证明”自己的价值。稳定的生态 + 持续的微创新，才是开发者真正需要的。</p>
</blockquote>



<h3 class="wp-block-heading">Laravel 13：原生 AI 时代的开篇</h3>



<p class="wp-block-paragraph">2026年3月17日，Laravel 13 正式发布，PHP 8.3 成为最低版本要求<a href="https://developer.aliyun.com/article/1718183" target="_blank" rel="noreferrer noopener"></a>。这个版本的升级几乎没有破坏性变更，但新增了一系列令人振奋的可选特性：</p>



<h4 class="wp-block-heading">🔹 大规模 PHP Attributes 支持</h4>



<p class="wp-block-paragraph">Laravel 13 在模型、控制器、队列任务、Console 命令等&nbsp;<strong>15处以上位置</strong>引入了原生 PHP Attributes 语法，让配置声明更直观<a href="https://laraveldaily.com/post/laravel-13-laracon-eu-taylor-otwell" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>// 模型配置
#&#91;Table('users', key: 'user_id', keyType: 'string', incrementing: false)&#93;
#[Fillable(&#91;'name', 'email'&#93;)]
#[Hidden(&#91;'password'&#93;)]
class User extends Model { }

// 控制器中间件与授权
class FlightController extends Controller
{
    #&#91;Middleware(LogRequests::class)&#93;
    #&#91;Authorize('view', 'flight')&#93;
    public function show(Flight $flight) { }
}

// 队列任务配置
#&#91;Tries(5)&#93;
#&#91;MaxExceptions(3)&#93;
class ReserveFlight implements ShouldQueue
{
    use Queueable;
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">// 模型配置</span></span>
<span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">Table</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">users</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">key</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">user_id</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyType</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">string</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">incrementing</span><span style="color: #D8DEE9FF">: </span><span style="color: #81A1C1">false</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">#[</span><span style="color: #88C0D0">Fillable</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">name</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">email</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">&#93;)]</span></span>
<span class="line"><span style="color: #D8DEE9FF">#[</span><span style="color: #88C0D0">Hidden</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">password</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">&#93;)]</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">User</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">extends</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">Model</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 控制器中间件与授权</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">FlightController</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">extends</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">Controller</span></span>
<span class="line"><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    #&#91;</span><span style="color: #88C0D0">Middleware</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">LogRequests</span><span style="color: #D8DEE9FF">::</span><span style="color: #D8DEE9">class</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    #&#91;</span><span style="color: #88C0D0">Authorize</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">view</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">flight</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">public</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">show</span><span style="color: #ECEFF4">(</span><span style="color: #D8DEE9">Flight</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$flight</span><span style="color: #ECEFF4">)</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// 队列任务配置</span></span>
<span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">Tries</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">MaxExceptions</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)&#93;</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">ReserveFlight</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">implements</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">ShouldQueue</span></span>
<span class="line"><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">use</span><span style="color: #D8DEE9FF"> Queueable</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 内置 JSON:API Resources</h4>



<p class="wp-block-paragraph">Laravel 13 首次内置了符合 JSON:API 规范的响应生成器，自动处理关系包含、稀疏字段集、链接及响应头，告别了第三方包依赖<a href="https://laravel.com/docs/changelog" target="_blank" rel="noreferrer noopener"></a>。</p>



<h4 class="wp-block-heading">🔹 队列路由（Queue Routing）</h4>



<p class="wp-block-paragraph">在统一位置为特定 Job 定义队列和连接规则：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">Queue</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">route</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ProcessPodcast</span><span style="color: #D8DEE9FF">::</span><span style="color: #D8DEE9">class</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">connection</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">redis</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">queue</span><span style="color: #D8DEE9FF">: </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">podcasts</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 语义向量搜索</h4>



<p class="wp-block-paragraph">Laravel 13 内置原生向量查询支持，配合 PostgreSQL + pgvector 实现 AI 驱动的语义搜索<a href="https://developer.aliyun.com/article/1718183" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
    ->limit(10)
    ->get();</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">$documents</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> DB</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">table</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">documents</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">whereVectorSimilarTo</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">embedding</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">Best wineries in Napa Valley</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">limit</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">get</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 Cache::touch() 方法</h4>



<p class="wp-block-paragraph">无需读取或重新写入即可延长缓存 TTL<a href="https://developer.aliyun.com/article/1718183" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Cache::touch('user_session:123', 3600);
Cache::touch('analytics_data', now()->addHours(6));</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">Cache</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">touch</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">user_session:123</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3600</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">Cache</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">touch</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">analytics_data</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">now</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">-&gt;</span><span style="color: #88C0D0">addHours</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">6</span><span style="color: #D8DEE9FF">))</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<h4 class="wp-block-heading">🔹 防抖动队列任务</h4>



<p class="wp-block-paragraph">2026年4月引入，解决高频触发队列任务时的“雪崩”问题，合并突发调度，仅保留最后一次执行<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a>：</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#d8dee9ff;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="复制" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>#&#91;DebounceFor(10)&#93;  // 10秒内的重复调度只执行一次
class RegenerateReport implements ShouldQueue { }</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">#&#91;</span><span style="color: #88C0D0">DebounceFor</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)&#93;  </span><span style="color: #616E88">// 10秒内的重复调度只执行一次</span></span>
<span class="line"><span style="color: #81A1C1">class</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB">RegenerateReport</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">implements</span><span style="color: #D8DEE9FF"> </span><span style="color: #8FBCBB; font-weight: bold">ShouldQueue</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p class="wp-block-paragraph">此外，MCP 工具现已支持<strong>渲染完整的沙盒化 HTML 应用</strong>（HTML/JS/CSS 内联在单个 Blade 视图中），AI 代理不再局限于纯文本交互——这是从命令行工具到交互式应用体验的一次质的飞跃<a href="https://laravel.com/blog/laravel-april-product-updates" target="_blank" rel="noreferrer noopener"></a>。</p>



<h2 class="wp-block-heading">五、开发体验的革命</h2>



<h3 class="wp-block-heading">全新 Starter Kits</h3>



<p class="wp-block-paragraph">Laravel 12 引入了全新设计的 Starter Kits，提供 React、Vue 和 Livewire 三种技术栈选择，内置 Shadcn 组件库（Livewire 栈可选 Flux 免费版）。</p>



<p class="wp-block-paragraph">Laravel 13 在此基础上新增了<strong>团队（Teams）功能</strong>和&nbsp;<strong>Passkey 集成</strong>——你可以在不同浏览器标签页中通过不同 URL 切换团队，这在旧版 Jetstream 中一直是个痛点<a href="https://laraveldaily.com/post/laravel-13-laracon-eu-taylor-otwell" target="_blank" rel="noreferrer noopener"></a>。</p>



<h3 class="wp-block-heading">Laravel Precognition：前端实时验证</h3>



<p class="wp-block-paragraph">Precognition 让前端 JavaScript 应用能够“预判”后端验证结果，无需复制验证规则即可实现实时表单验证。</p>



<h3 class="wp-block-heading">Laravel Skills 市场</h3>



<p class="wp-block-paragraph">2026年初，Laravel 推出了开源的&nbsp;<strong>Laravel Skills 目录</strong>——一个可复用的 AI 代理技能市场，开发者可以浏览并一条命令安装所需技能，让 AI 代理具备安全审计、最佳实践检查等专业能力。</p>



<h2 class="wp-block-heading">六、社区：从代码到文化</h2>



<h3 class="wp-block-heading">Laravel 社区 App 正式上线</h3>



<p class="wp-block-paragraph">2026年3月，Laravel 团队正式发布了&nbsp;<strong>Laravel 社区 App</strong>（iOS &amp; Android双端）<a href="https://laravel.net.cn/blog/introducing-the-laravel-community-app" target="_blank" rel="noreferrer noopener"></a>。主要功能包括：</p>



<ul class="wp-block-list">
<li>发现 Laracon、Laravel Live 及全球各地的线下聚会</li>



<li>新活动推送通知，不错过任何交流机会</li>



<li>现场扫码连接社区伙伴，活动结束后的联系不中断</li>
</ul>



<h3 class="wp-block-heading">多元化与包容性</h3>



<p class="wp-block-paragraph"><strong>Larabelles</strong>&nbsp;社区通过奖学金、导师指导和社区活动，为 Laravel 中代表性不足的开发者创造空间。这种由下而上的社区行动，让 Laravel 不仅是一套技术工具，更是一个有人情味的开发者社群。</p>



<h3 class="wp-block-heading">2026年重要活动</h3>



<ul class="wp-block-list">
<li><strong>Laracon AU 2026</strong>：11月4-6日，布里斯班，议题征集已开放，聚焦深度技术内容与生产实践经验<a href="https://laravel-news.com/laracon-au-returns-for-2026?utm_medium=feed&amp;utm_source=feedpress.me&amp;utm_campaign=Feed%3A+laravelnews" target="_blank" rel="noreferrer noopener"></a></li>



<li><strong>Laracon US 2026</strong>：日期地点已公布，具体日程即将发布</li>
</ul>



<h2 class="wp-block-heading">七、结语：AI 时代的“工匠”精神</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Taylor Otwell 在 Laracon EU 2026 现场做了一个 Demo：他故意在网站上制造了一个 Bug，Nightwatch 捕获到异常，AI 代理通过 Nightwatch MCP 自动定位问题、在 Cloud 上创建测试环境，最后生成 Pull Request 并打电话问他：“要 merge 吗？”全场沸腾。</em><a href="https://laraveldaily.com/post/laravel-13-laracon-eu-taylor-otwell" target="_blank" rel="noreferrer noopener"></a></p>
</blockquote>



<p class="wp-block-paragraph">这或许就是 Laravel 在 AI 时代给出的答案——</p>



<p class="wp-block-paragraph">不是让 AI 取代开发者，而是让 AI 成为开发者的最佳搭档。开发者负责定义“要做什么”，AI 负责加速“怎么做到”。从 Laravel Boost 提供上下文，到 AI SDK 提供能力，再到 Nightwatch 发现问题和 Cloud 部署上线——一整套闭环正在形成。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">🔮&nbsp;<strong>展望 2026 下半年</strong>：Laravel 还将带来什么？API Starter Kits 即将发布，PHPverse 2026 将于6月回归，更多 AI-native 特性正在路上。正如 Taylor Otwell 所说：<strong>“Laravel 生态比以往任何时候都更加强大。”</strong></p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><em>📅 本文完稿于 2026 年 5 月 6 日。文中所有产品信息与技术细节均来自 Laravel 官方文档、博客及权威技术媒体报道。</em></p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/">Laravel 2026：AI 时代下的 Web 开发新范式</a> appeared first on <a href="https://www.atomic-cube.cn">原立方</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.atomic-cube.cn/laravel-2026%ef%bc%9aai-%e6%97%b6%e4%bb%a3%e4%b8%8b%e7%9a%84-web-%e5%bc%80%e5%8f%91%e6%96%b0%e8%8c%83%e5%bc%8f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
