乐于分享
好东西不私藏

我让普通 AI 和 Dan Abramov Skill 同时评审一个 Hook,差别很明显

我让普通 AI 和 Dan Abramov Skill 同时评审一个 Hook,差别很明显
现在用 AI 写代码,有个很微妙的问题。
它经常不是不会写。它是写得太顺了。
你问它:“这个 Hook 要不要抽?”它可能已经开始帮你设计参数了。
你问它:“这个 bug 怎么修?”它可能已经准备加 if 了。
你问它:“这个状态该放哪?”它可能一边回答,一边顺手给你搬出一个状态管理方案。
问题是,很多工程判断,最危险的地方不在“不会写代码”,而在“太快进入写代码”。
所以我试着换了一个角度看 dan-abramov-skill:
不把它当工具介绍。而是把它当一个“AI 代码评审人格”,看看它和普通 AI 的回答差在哪。
先放仓库地址:
https://github.com/eric1774-FE/dan-abramov-skill

先说清楚:这不是 Dan 本人

dan-abramov-skill 是一个 AI Skill。
它不是 Dan Abramov 本人,也不代表他的真实观点。它更像是把 Dan 公开写作、React 官方材料、Overreacted、Redux、Create React App 等资料里反复出现的工程思维,整理成一套 AI 可以调用的判断框架。
换句话说:
它不是“请 Dan 来帮你看代码”。它是“让 AI 在看代码时,学会先问几个 Dan 风格的问题”。
比如:
这个抽象真的需要吗?这个 API 改善了用户体验吗?这个 bug 有复现吗?这个复杂度到底被谁承担了?
这些问题不花哨,但很管用。

为什么是 Dan Abramov?

如果你写过 React,大概率绕不开 Dan Abramov。
他因为 Redux 被很多人认识。Redux 最初是一个 conference demo,核心是为了讲清楚 time travel 调试。后来,它成了 React 生态里非常重要的状态管理工具。
2015 年,他加入 Facebook,也就是后来的 Meta,进入 React Core 团队。之后几年,他参与过 React 文档、Hooks 推广、开发体验、Create React App 等工作。
2023 年,他离开 Meta。后来去了 Bluesky,做 React Native app 质量、性能和团队工程指导。到 2025 年,他在 Overreacted 上说,自己开始做少量 UI engineering consulting。React 官网团队页现在也把他列为 Independent Engineer。
这段经历很适合做成 Skill。
因为他不是单纯“会写代码”的工程师。他更擅长的是:把复杂的 UI 工程问题,讲成一个人能理解的心智模型。
这正好是 AI 写代码时最缺的东西。

测评方式

这不是严格 benchmark。
我没有测 token、速度、通过率。我只拿三个前端里最常见的问题,比较两种回答风格:
普通 AI:倾向于直接给方案。Dan Abramov Skill:倾向于先拆问题。
看完你会发现,差别不在文风,而在思考顺序。

案例一:这个 Hook 抽得挺漂亮,要不要保留?

假设你有两个按钮:
一个 Like。一个 Save。
它们都要发请求、显示 loading、处理错误。
于是你抽了一个 Hook:
function useAsyncAction(action) { const [loading, setLoading] = useState(false); const [error, setError] = useState(null); async function run(...args) { setLoading(true); setError(null); try { return await action(...args); } catch (error) { setError(error); } finally { setLoading(false); } } return { run, loading, error };}
看起来还不错。少了重复,也挺通用。

普通 AI 可能会怎么答?

普通 AI 大概率会沿着“怎么把这个 Hook 变得更好”的方向继续走:
可以加泛型。可以补错误类型。可以支持 onSuccess 和 onError。可以加取消请求。可以加防重复提交。可以把 error 类型收窄。
这些建议不能说错。
但它们默认了一件事:
这个 Hook 应该存在。

Dan Abramov Skill 会怎么问?

它会先踩刹车:
Like 和 Save 真的是同一个问题吗?
Like 可能需要乐观更新,失败要回滚。Save 可能需要防重复提交,失败要保留草稿。
一个关心即时反馈。一个关心数据不要丢。
它们只是长得像,不代表命运相同。
这时候,最好的答案可能不是“把 Hook 抽得更通用”,而是“先别抽”。
重复几行代码,不一定是坏事。错误抽象,才可能变成以后每次改需求都要还的债。

差别在哪?

普通 AI 在优化答案。Dan Abramov Skill 在质疑问题。
普通 AI 问:“这个抽象怎么写得更漂亮?”Dan Abramov Skill 问:“这个抽象现在就该存在吗?”
这个差别很大。
很多项目不是死于代码太重复。而是死于每个重复都被提前封装了。

案例二:这个 bug 偶现,能不能先加个防御判断?

前端项目里有一种 bug 很常见:
偶现。刷新一下好了。本地不复现。线上有人遇到。日志还不够。
这时候,人很容易想加个防御判断:
if (!userreturn null;
或者:
if (!data?.items) return [];
简单,干净,安静。
bug 也确实没了。
至少看起来没了。

普通 AI 可能会怎么答?

普通 AI 往往会帮你补 guard:
这里可能是空值。这里需要 optional chaining。这里加 fallback。这里处理 loading 状态。
还是那句话:这些都可能是对的。
但如果问题是竞态、stale closure、缓存污染、多实例共享状态,guard 只是把症状盖住。
你以为你修了 bug。其实你只是把错误提示静音了。

Dan Abramov Skill 会怎么问?

它会先问:
复现在哪里?
用户做了什么?期望看到什么?实际发生什么?能不能把页面删到只剩一个状态、一个事件、一个渲染路径?
如果没有 repro,直接修就像闭眼修水管。你听见水声没了,但你不知道水漏到哪去了。
它不是说 guard 永远不该加。
边界当然要防御。但如果 guard 只是为了让报错消失,而不是解释错误为什么出现,那就危险。

差别在哪?

普通 AI 更像急诊止血。Dan Abramov Skill 更像追病因。
止血有价值。但如果每次都止血,从来不查为什么出血,项目迟早变成补丁展览馆。

案例三:RSC 是不是就是组件放服务器上跑?

React Server Components 很容易被一句话讲歪:
“就是把组件放服务器上跑。”
这句话不是完全错。但它太容易让人误会。

普通 AI 可能会怎么答?

普通 AI 可能会列优点:
减少 bundle。更接近数据源。首屏更快。SEO 更好。服务端直接访问数据库。
这些也不是错。
但它容易把 RSC 讲成一个性能开关。
好像只要把组件搬到服务器,事情就自动变好了。

Dan Abramov Skill 会怎么问?

它会换个问题:
代码和数据分别在哪台机器?
哪些代码会进客户端 bundle?哪些值必须可序列化?哪些状态属于交互?哪些逻辑应该靠近数据?错误、streaming、缓存、导航怎么跨边界?
RSC 的重点不是“服务器更快”这个口号。重点是 client/server 边界进入了模块系统。
这也意味着,它不是免费午餐。
它把一部分复杂度从业务代码里吸走,同时放进框架、协议、构建工具和安全边界里。
这可能值得。但只有当团队真的理解这些边界时才值得。

差别在哪?

普通 AI 容易把新技术讲成功能清单。Dan Abramov Skill 更关心问题形状有没有变。
这对技术选型很重要。
因为很多技术债,不是因为你选了坏工具。而是因为你用旧问题理解了新工具。

这个 Skill 真正有用的地方

看完这三个例子,我觉得 dan-abramov-skill 最有价值的地方,不是“回答更像 Dan”。
而是它让 AI 慢下来。
普通 AI 很擅长补全。但工程判断很多时候不是补全。
是删除。是质疑。是承认不知道。是先找复现。是先问用户体验。是先看这个抽象到底该不该存在。
这些东西听起来不酷。
但项目能长期活下去,靠的经常就是这些不酷的判断。

安装方式

如果你的 AI runtime 支持 Agent Skills,可以用一行命令安装:
npx skills add eric1774-FE/dan-abramov-skill
也可以手动安装到对应目录:
以 Codex CLI 为例:
git clone https://github.com/eric1774-FE/dan-abramov-skill.git ~/.codex/skills/dan-abramov-skill
如果你的工具暂时不支持自动加载 Skill,也可以直接打开仓库里的 SKILL.md,把内容复制到对话里使用。
仓库地址:
https://github.com/eric1774-FE/dan-abramov-skill

怎么触发它?

安装后,可以这样问:
用 Dan Abramov 的视角帮我看这个 React 抽象
切换到 Dan Abramov Skill,帮我 debug 这个 UI 状态 bug
用 React 心智模型分析这个 RSC 边界
这个 Hook 到底该不该抽?用 dan-abramov-skill 帮我判断

最后

我觉得这个 Skill 适合放在 AI 写代码之前,也适合放在 AI 写完代码之后。
写之前,用它防止 AI 太快开工。写之后,用它检查 AI 有没有过度抽象、跳过复现、混淆边界。
它不会让 AI 瞬间变成资深工程师。
但它能让 AI 少一点“我来封装一切”的冲动。多一点“这东西真的需要吗”的分寸。
对 AI 编程来说,这个分寸很值钱。

参考资料

  • Skill 仓库:https://github.com/eric1774-FE/dan-abramov-skill
  • Dan Abramov 自述:《My Decade in Review》:https://overreacted.io/my-decade-in-review/
  • Dan Abramov 近况:《I'm Doing a Little Consulting》:https://overreacted.io/im-doing-a-little-consulting/
  • React 团队页:https://react.dev/community/team
  • Redux 官方文档:https://redux.js.org/introduction/getting-started
  • React 官方:《Sunsetting Create React App》:https://react.dev/blog/2025/02/14/sunsetting-create-react-app
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-11 08:09:33 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/849314.html
  2. 运行时间 : 0.284015s [ 吞吐率:3.52req/s ] 内存消耗:4,714.41kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=384c11abd35e4f2794b4d3c4e054e54a
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001012s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001527s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002324s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.007375s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001737s ]
  6. SELECT * FROM `set` [ RunTime:0.023519s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.002206s ]
  8. SELECT * FROM `article` WHERE `id` = 849314 LIMIT 1 [ RunTime:0.002204s ]
  9. UPDATE `article` SET `lasttime` = 1783728573 WHERE `id` = 849314 [ RunTime:0.033321s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000766s ]
  11. SELECT * FROM `article` WHERE `id` < 849314 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001264s ]
  12. SELECT * FROM `article` WHERE `id` > 849314 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003363s ]
  13. SELECT * FROM `article` WHERE `id` < 849314 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001696s ]
  14. SELECT * FROM `article` WHERE `id` < 849314 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002173s ]
  15. SELECT * FROM `article` WHERE `id` < 849314 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.010964s ]
0.287895s