当 AI 开始写 PHP:一个“没有魔法”的框架,如何消灭 Vibe Coding 里的幻觉

简介: 阿杰用「标准全家桶」让 AI 写下单接口,却被框架层层「魔法」绕晕。老陈甩来一个没有魔法的 PHP 框架——三行代码一次跑通,彻底告别手写样板。为什么 AI 在这里不再幻觉?

作者:姚杨 | 专栏:阿杰的技术成长

周五深夜,vibe coder 阿杰用「标准全家桶」让 AI 写下单接口,却被框架层层「魔法」绕晕,整晚调试无果。务实 CTO 老陈看不下去,甩来一个「没有魔法」的框架链接。阿杰半信半疑换上,没想到三行代码一次跑通——路由、响应、落库一气呵成,彻底告别手写样板。他正琢磨「正式立项改名会不会很麻烦」,老陈神秘一笑:「一条命令的事。」到底这条命令做了什么,能让模板瞬间变成你自己的项目?

周五晚 11 点,阿杰又卡住了

阿杰是个典型的「vibe coder」——他不直接写代码,他对着 AI 说人话。微信刚弹来产品消息:「周一前给运营做个内部下单工具,能查订单、能建订单就行。」阿杰心想这有何难,打开他最熟的 PHP 全家桶就开干。

那是套「业界标准」配置:服务容器、门面(Facade)、注解路由、依赖注入。AI 帮他生成了一段控制器,看起来人模狗样:

// AI 生成的「标准」控制器
public function store(Request $request)
{
   
    $user = Auth::user();                    // Facade 静态代理,背后是容器绑定
    $order = Order::create($request->validated()); // 依赖一个 FormRequest 类
    $order->save();
    return response()->json($order);          // 又包了一层响应封装
}

一跑就报错。Auth 门面背后那层静态代理 AI 没搞对,容器里没绑定这个服务;validated() 需要的 FormRequest 类压根没生成。阿杰在三个文件之间来回跳,AI 每改一次就引入一个新的「魔法」漏洞。凌晨两点,他终于承认:问题不在 AI,在于框架给 AI 挖了太多坑。

老陈甩来一个链接:「试试这个,没有魔法」

做 CTO 的老同学老陈,一句话点醒他:「你先别想什么 Service、Repository。就写个闭包。」

老陈发来的项目叫 php-vibe-coding-frame——一个单层 MVC 的极简 PHP 框架,专为 PHP-FPM 快速开发设计。没有 DI 容器、没有注解、没有 YAML 路由配置、没有 Composer autoload;路由即闭包,控制器即函数,写完即跑。

阿杰半信半疑 clone 下来,按文档跑了一条命令,浏览器里跳出了 hello world

git clone https://github.com/smarty-kiki/php-vibe-coding-frame.git my-project
cd my-project
sh project/tool/start_development_server.sh # Docker 一键起开发环境

clone 下来,阿杰顺嘴问了一句:「目录还叫 php-vibe-coding-frame,正式立项改名不麻烦?」老陈乐了:「一条命令的事。」他指了指 project/tool/naming_project.sh

sh project/tool/naming_project.sh my-project

「它会把 nginx、supervisor、Caddy 的配置文件名,连同 README、CLAUDE.md 里所有项目名占位符,一次性替换成 my-project。模板秒变你的项目,连文档都帮你改好——基于这套模板初始化新项目,基本零摩擦。」

三行代码,第一次跑就通了

老陈说:「你那个下单需求,我就写个闭包。」阿杰照着写:

if_post('/order', function () {
   
    $order = order::create(input('user_id'), input('amount'));
    return $order; // 返回实体 → 自动 JSON;闭包结束 → 自动落库
});

他盯着屏幕:没有 ->save(),没有 response()->json(),没有注入。 闭包返回实体,框架自动序列化成 JSON;闭包一结束,unit_of_work() 自动把新订单 INSERT 进库。第一次跑,就成了。

阿杰愣了一下——他花了一整晚在「标准框架」里和魔法搏斗,在这个框架里,三行代码解决了。

为什么 AI 在这里不再「幻觉」

老陈在语音里笑:「这框架的核心哲学就一句话——框架退后一步,让意图站到前面。 它对 AI 友好,是因为它对人友好。」

他点了几个设计:

  • 没有魔法:没有 __call 代理、没有 Facade 静态代理、没有注解解析。Ctrl+Click 能追到源码,grep 能找到所有引用。AI 的静态分析不会被元编程绕晕。
  • 意图即结果:闭包返回数组就是 JSON,返回字符串就是 HTML。AI 看一眼就知道输出是什么,不用猜 response()->json() 的封装。
  • 一个文件就是一个功能:路由、参数校验、业务调用全在一个闭包里。改一个功能,改一个文件。AI 不用在 Controller → Service → Repository 的调用链里迷路。
  • 自动持久化unit_of_work() 自动包裹所有路由闭包。你只管 create、赋属性,闭包结束自动写库,不用记 save()/flush() 的时机。

「过去十年我们攒了一堆『为了人类可维护性』的模式,」老陈说,「接口隔离、依赖反转、DI 容器——前提是项目大到人类必须切块。但 AI 能在单个文件里理解全部逻辑,这些中间层对它来说就是噪音。分层越多,AI 幻觉的注入点越多。 这个框架主动做了减法:这不是阉割,是剪枝。」

阿杰后来拿它干了三件事

  1. 运营下单工具(就是那个周五的需求)——一个下午交付,周一正常用。
  2. 小程序后端 API 服务——毫秒级延迟,不用路由/配置缓存预热,PHP-FPM 原生友好。
  3. 快速验证业务想法——想法到代码的路径最短,写完即跑。

它最适合:中小型项目、快速原型、API 服务、内部工具。它不适合需要完整组件系统、复杂事件总线的超大型应用——那种场景,上 Laravel 更合适。框架不替你做架构决策,它只是把摩擦降到最低。

和「标准框架」的对照

维度 php-vibe-coding-frame Laravel
路由 闭包直接写在 controller/*.php routes/web.php 指向 Controller 类方法
控制器 闭包即控制器 Controller 类 + 方法
DI 无,依赖显式 include 服务容器自动注入
ORM 自研 ActiveRecord + 工作单元 Eloquent
配置 PHP 数组 + 环境覆盖 .env + config/*.php
类加载 class map,O(1) include Composer PSR-4
启动开销 仅 include ~10 个核心文件 数百类 + 数十 ServiceProvider
AI 友好度 高(无魔法,静态可追溯) 中(魔法层易致幻觉)

尾声:早知道,昨晚能多睡四小时

周一早上,阿杰把下单工具交给运营,顺手给老陈发了句:「早知道有这框架,昨晚能多睡四小时。」老陈回:「框架不背锅,选对工具才省时间。去 Star 一下,下次别再跟魔法较劲了。」

如果你也在用 AI 写 PHP,却总被框架的「魔法」绕晕,不妨试试这个把意图放在第一位的框架:

git clone https://github.com/smarty-kiki/php-vibe-coding-frame.git
cd php-vibe-coding-frame
sh project/tool/start_development_server.sh # 打开 http://localhost 看 hello world

项目完全开源,仓库地址:

https://github.com/smarty-kiki/php-vibe-coding-frame

欢迎 Clone、Star,也欢迎来提 Issue 和 PR——一起把「让 AI 一次跑通」这件事,做得更彻底。

目录
相关文章
|
8天前
|
人工智能 前端开发 JavaScript
我终于能用 GPT-6 了!实测一波,Codex 要杀疯了?
GPT-6 Astra 实战测评,4 大项目实战,覆盖 AI 编程能力和 Computer Use 电脑操作能力,看看号称全世界最智能的模型,在 Codex 中的使用体验到底如何?和 Claude Fable 5 比起来怎么样?
191 1
|
12天前
|
人工智能 NoSQL 定位技术
Palantir 爆火后,为什么 AI Agent 落地绕不开「本体论」?
Palantir 爆火后,「本体论」被反复提及,却常被误读成替代信息化、甚至等同于 Agent。本文用「阿杰+老陈」双视角讲清:本体论本质是连接 Agent 与企业知识库/业务系统的一座桥,对 IT 人而言,它就是 DDD 及业务规则的沉淀方法论。还剖析了 Palantir 为何自带本体论实施工具,以及国内复刻者稀少时,企业 IT 如何用自己的方式吃透核心概念落地。
147 0
|
3月前
|
运维 Java Nacos
Spring Cloud Alibaba + MSE Nacos:微服务注册发现与配置中心实战
Nacos 是 Spring Cloud Alibaba 生态的核心组件,承担服务注册发现与配置中心双重职责。阿里云 MSE(微服务引擎)提供了 Nacos 的全托管版本,免运维、高可用、与企业版功能增强。本文从电商微服务场景出发,实战演示 Nacos 自建集群 vs MSE Nacos 托管两种方案:服务注册发现、配置中心热更新、命名空间隔离、灰度发布,并给出详细的成本对比和选型建议。
Spring Cloud Alibaba + MSE Nacos:微服务注册发现与配置中心实战
|
28天前
|
人工智能 JavaScript API
DeepSeek Harness 实测:大模型为什么还需要 Harness?
本文深度评测DeepSeek Harness——国产AI编程Agent新工具。作者实测三大任务(幸存者游戏、俄罗斯方块、梁子滑动变阻器),对比GPT/Codex,分析完成时间、Token消耗、费用与效果,并详解其“模型为脑、Harness为手脚”的执行闭环机制及蓬勃发展的插件生态(文件引用、多模态、数据库等)。
431 7
DeepSeek Harness 实测:大模型为什么还需要 Harness?
|
25天前
|
存储 人工智能 数据可视化
Cherry Studio开源AI桌面客户端实操指南:打通阿里云百炼Coding Plan与Token Plan
Cherry Studio凭借开源属性、本地优先的安全设计、完整MCP扩展生态,解决了多模型工具分散的痛点,把各类云端与本地大模型收拢到统一桌面工作台。搭配阿里云百炼Coding Plan与Token Plan两套订阅方案,开发者和普通用户都可以低成本调用通义千问系列模型,覆盖代码开发、图文创作、文档处理、自动化任务等各类场景。
242 1
|
9天前
|
开发工具 git 开发者
DeepSeek Harness 更新后 DSH plugin 不兼容?插件版本回滚与降级操作指南
DSH plugin 更新后不兼容的典型症状是功能缺失、加载报错。回滚插件或降级 DSH 本体可恢复,升级前看插件详情页与 DSH Plugin Hub 的兼容状态能避免,本文给出症状、回滚命令与预防方法。
327 1
|
12天前
|
人工智能 自然语言处理 安全
阿里云AI应用活动:Qoder CN、千问办公、万小智、万镜一刻、秒悟 Meoo最新活动参考
本文详细介绍了阿里云推出的五款核心AI应用产品及其专属活动。‌Qoder CN‌ 作为AI智能体编程平台,为用户提供Qwen 3.8-Max等模型夜间时段5折起的专属优惠,并设有免费体验、个人版、团队版三档订阅方案。‌千问办公企业标准版198元/人/月起,新注册可领2000积分。‌万小智AI建站‌ 提供零代码建站服务,体验版9.9元/月起,并赠送灵感值、.CN域名及备案服务码。‌万镜一刻‌ 是全链路AIGC视频创作平台,基础版39元/月起,支持从剧本到成片的自动化生产。‌秒悟Meoo‌ 是云端极速AI应用创作平台,Lite个人轻量版25元/月起,新用户注册即送10000积分。
|
25天前
|
人工智能 安全 数据可视化
QwenPaw 2.0开源AI智能体实操指南:完整接入阿里云百炼Coding Plan与Token Plan
市面上绝大多数AI助手都存在明显短板:对话记忆随会话销毁,每次交互需要反复交代背景;数据全部托管远端服务器,私密资料存在泄露隐患;功能固化,很难贴合个人业务做能力扩展;办公社交渠道相互割裂,一套AI人设无法跨IM工具复用。QwenPaw是AgentScope团队开源的本地优先个人AI助手,跳出传统聊天机器人一问一答的交互模式,打造可以自主执行任务、沉淀个人知识、跨多平台协同的数字分身。
375 2
|
1月前
|
人工智能 JSON 数据挖掘
最新版通义千问(Qwen3.7-Plus)功能介绍
在大模型快速迭代的开发环境下,单纯的文本对话能力已经很难满足企业与开发者的真实业务诉求,越来越多项目需要模型同时看懂图片、截图、图表、短视频,再结合逻辑推理、代码生成、工具调用完成端到端业务闭环。Qwen3.7‑Plus作为通义千问Qwen3.7产品矩阵当中面向工程落地的主力多模态基座,定位高性价比多模态交互混合智能体,区别于同系列其他版本,它原生打通文本、图像、视频输入,同时具备强大的Agent工具调用、全栈编程、长上下文处理能力,兼顾推理效果与推理成本,非常适合企业级多模态业务、智能体应用、自动化工作流开发。很多开发者会混淆Qwen3.7‑Max、Qwen3.7‑Plus、Qwen3.7‑
229 3
|
1月前
|
弹性计算 人工智能 运维
最新版阿里云CLI完整功能详解:插件化架构、多账号管理、自动化运维实操教程
在云原生运维大规模普及的当下,传统网页控制台的图形化操作已经很难满足批量运维、持续集成、多环境管理、自动化脚本编排的业务诉求。大量运维工程师、开发人员需要一套可以脱离浏览器,直接在终端、服务器、CI流水线、AI智能体内部调用云平台能力的工具。阿里云CLI就是这样一款开源跨平台命令行管理工具,底层基于平台OpenAPI接口封装,支持Linux、macOS、Windows多操作系统,新版采用轻量化插件架构,覆盖三百余款云产品,几乎网页控制台可以完成的操作,都可以通过命令行实现。很多初次接触该工具的使用者,只把它当作简单查询工具,却不了解它完整的凭证体系、插件自动加载、结果过滤、预演校验、多账号隔离
197 1

热门文章

最新文章