乐于分享
好东西不私藏

AI编程时代,还要不要学古法?

AI编程时代,还要不要学古法?

前几天看到一个论坛的小白开发者的提问,我愣了一下:AI 都能几分钟写出一个小应用了,我还要不要从语法、算法、数据结构这些“古法”开始学?

这个问题太真实了。

尤其是这两年,Cursor、Claude Code、GitHub Copilot、Windsurf 这些工具起来之后,写代码这件事的体感真的变了。

以前你想做一个网页,得先学 HTML、CSS、JavaScript,搞清楚按钮怎么写、接口怎么调、报错怎么查。现在呢?你把需求说清楚:我要一个待办清单,有新增、删除、搜索、保存本地数据。AI 可能几十秒就给你搭一个能跑的版本。

再进一步,所谓 vibe coding,也就是“凭感觉编程”,更刺激。你不用太懂代码,只要不断跟 AI 描述你想要什么、哪里不对、再改一下,它就能带着你把东西聊出来。

这事对新手的冲击非常大。屏幕前如果你正在学编程,大概率会冒出一个特别扎心的念头:

我是不是还没上桌,桌子就被掀了?

我花半年学语法,AI 眨眼写完;我刷一百道算法题,实际工作里 AI 直接生成;我跟着视频一行行敲项目,别人靠提示词一晚上做出 demo。那我到底还学不学?

我的答案很明确:要学。但不是照着过去那套苦哈哈的方式原封不动学。

AI 编程时代,所谓“古法”真正值钱的部分,不是死记语法,不是为了面试硬刷几百道题,也不是把每一行代码都亲手敲出来才有仪式感。

真正值钱的是四个字:判断能力。

所谓判断能力,就是你要——

  • 知道一个需求该怎么拆;
  • 知道 AI 写出来的代码哪里可能有坑;
  • 知道报错应该往哪个方向查;
  • 知道一个东西能跑,不代表它安全、稳定、好维护;
  • 知道什么时候该用现成库,什么时候才值得自己造轮子。

这才是“古法”的魂。不是手写代码这件事本身。

01AI 编程最狠的地方,是把“写出来”变便宜了

坦率讲,我把这些 AI 编程工具翻了个遍,也看了一堆评测和事故复盘,越看越发现,它们最吓人的地方,根本不是会写代码。

代码生成这件事,早就有了。以前 IDE 也会补全,低代码平台也能拖拽页面,脚手架工具也能一键生成项目结构。真正变天的是:AI 开始理解“意图”。

你不再需要一开始就说“请帮我写一个 React 组件,使用 useState 管理状态,再绑定 onClick 事件”。你可以直接说:“帮我做一个给研究选题打分的小工具,输入标题、目标读者和卖点,输出一个 1 到 10 分的评分和修改建议。”

它能自己猜技术方案,自己建文件,自己补逻辑,甚至自己运行测试。这就很像什么?

打个比方

以前你得自己拿锯子、钉子、木板做一张桌子。现在你旁边站了一个特别能干的木工学徒,你说“我要一张能放电脑、别太晃、最好有抽屉的桌子”,他就开始干活。可如果你完全不懂桌子,最后他给你做了一张表面好看、螺丝没拧紧、抽屉一拉就掉的桌子,你能看出来吗?

这就是 AI 编程的核心矛盾。

「它让做出来变便宜了,却让判断做得对不对变得更重要了。」

以前不会写代码,你第一步就卡住。现在第一步不卡了,真正的坑后移了。坑不在“能不能生成”,而在“敢不敢上线”

02为什么很多人会觉得古法没用了

我特别理解那种感觉。你辛辛苦苦学了三个月 JavaScript,好不容易搞明白数组、对象、异步请求,结果旁边一个人打开 AI,直接说“做个后台管理系统”,哐哐生成一堆文件。你心态很难不崩。

更别说很多短视频和文章还会在旁边拱火:

“不会代码也能做 App。”

“一个提示词生成创业项目。”

“程序员要被淘汰了。”

这种内容看多了,人会产生一种错觉:编程的难点就是把代码写出来。既然 AI 能写,那学编程就没意义了。说实话,我一开始也差点被这种说法带跑。但我越想越觉得不对劲——这其实只看到了最外面一层。

写代码这件事,可以拆成好几层:

  • 第一层
    是把想法翻译成代码。
  • 第二层
    是把大需求拆成小任务。
  • 第三层
    是在限制条件下做技术选择。
  • 第四层
    是保证代码长期可维护。
  • 第五层
    是出了问题能定位、能修复、能复盘。

AI 现在对第一层帮助最大,对第二层也越来越强。但越往后,越需要人来掌舵。

举个很小的例子。你让 AI 写一个“求两个数平均值”的函数,它大概率会写对。可是如果需求变成“统计一批用户最近 30 天的平均消费额,排除退款订单,按地区分组,金额要考虑汇率,结果要能支持 100 万用户同时查询”,这就不是一行公式的事了。

你得知道数据从哪里来,边界条件有哪些,性能扛不扛得住,缓存怎么做,权限怎么控,结果错了谁负责。AI 可以参与每一步,但不能替你承担每一步的判断。

打个比方

这就像导航很强,但你不能因为有导航,就完全不看路。导航会告诉你右转,可如果前面正在修路、地上有坑、旁边冲出来一辆电动车,踩刹车的人还是你。

03Vibe Coding 很爽,但不能把责任也 vibe 掉

说到这里,就绕不开 vibe coding。公开资料里,vibe coding 这个词是 Andrej Karpathy 在 2025 年提出的。大概意思是,人用自然语言描述想法,AI 负责生成代码,你不断运行、反馈、调整,甚至不用太关注代码细节。

这个画面确实有未来感。我自己也觉得,这会极大改变软件开发。以前很多普通人有想法,但卡在“不会写代码”。现在门槛被 AI 砍掉一大截,很多小工具、小产品、小自动化都可以被普通人做出来。这是好事。

但我不太喜欢把它吹成“以后不用懂代码了”。因为真正危险的地方就在这儿:你可以 vibe 出一个 demo,但你不能 vibe 掉责任。

AI 不对你的数据库负责。

AI 不对用户隐私负责。

AI 不对线上事故负责。

AI 不会在老板、客户、用户面前替你解释为什么数据没了。

说实话,我去翻公开社区里那些 AI Agent 翻车案例时,心里是有点发凉的。有人明确叮嘱 AI 不要动数据库,结果它还是把数据删了;还有人只因为文件夹名字里多了一个空格,转义出错,整块硬盘被误删。我第一次看到这些时是真有点意外,原来翻车不是“写错一行”那么简单,而是“一句话没交代清楚,整个系统就没了”。

这些案例不用全信,也不用全往自己身上套,但它们至少提醒了我一件事:当 AI 拿到文件系统、数据库、部署权限之后,它不再只是“写几行代码的助手”,它开始能真实改变你的系统。这时候你还完全不懂它在干什么,就很危险。

以前你让实习生改代码,至少会 code review。现在你让 AI 改代码,反而因为它速度太快、态度太自信,就不 review 了。这不合理。

「AI 越强,越要验收。」

打个比方

就像你请了一个干活特别快的装修队,不代表你可以连水电图都不看。恰恰相反,因为它一天能砸三面墙,你更得知道哪面墙不能砸。

04古法里最该留下的,不是“苦”,是“验收能力”

很多人一听“古法编程”,脑子里浮现的是:背语法、刷算法、手敲项目、看厚厚的计算机网络和操作系统、在黑框框里调一天 bug。

说实话,这里面有些东西确实可以换一种学法了。比如很多语法细节,没必要像以前那样死背。你忘了某个 API 怎么写,问 AI 就行;你想从 Python 切到 Go,也可以让 AI 带着你迁移。但有几类能力,我觉得不但不能扔,反而更重要了。

一 · 读代码能力

AI 写出来的东西,你至少要能大概看懂。一个很简单的标准:你能不能把这段代码讲给一个初中生听?如果你讲不出来,只能说“反正 AI 说没问题”,那你其实没有掌控它。

二 · 调试能力

真正拉开差距的,不是永远不出错,而是出错后你能不能缩小范围:是前端传参错了?后端接口错了?数据库数据错了?AI 可以帮你猜,但你要知道怎么验证。就像医生看病,AI 可以列十种可能病因,但你总得做检查,不能看到第一条就直接开刀。

三 · 测试能力

测试不是大公司的繁文缛节,而是你和 AI 合作时的安全绳。你让 AI 写一个函数,别只看它“能跑”,要让它写几个测试:正常输入、空输入、异常输入、边界值、超大数据量。看代码靠经验,写测试靠规则——经验你可能暂时还没有,但规则现在就能用起来。

四 · 工程化意识

工程化说白了就是:这个东西以后还能不能改、别人能不能接、出了问题能不能查。AI 很容易给你生成一个“当下能跑”的版本,却可能重复写三份类似逻辑、引入没人维护的库、把配置写死、把权限判断塞得到处都是。这些短期不显眼,长期都是债。

技术债这个词很形象。你今天为了快,借了一点债,明天要还利息。AI 让借债更容易了,所以你更要知道什么时候不能借

05那算法和数据结构还要不要学?要,但别神化

这个问题最容易吵起来。

一派说:算法是内功,必须苦练。

另一派说:工作里根本用不到红黑树,AI 还能直接写,刷题纯属浪费生命。

老实讲,我觉得两边都有道理,但都容易说过头。

如果你是想做专业程序员,尤其想进大厂、做基础架构、数据库、搜索、推荐、AI 系统、游戏引擎、编译器,那数据结构和算法当然要学。因为这些不是“面试题”,而是你理解系统的语言

你不懂哈希表,就很难真正理解为什么查找可以很快;你不懂队列,就很难理解任务调度;你不懂树和图,就很难理解很多索引、依赖关系、路径搜索;你不懂复杂度,就很容易写出小数据能跑、大数据崩盘的代码。

但如果你只是一个普通运营、产品经理、自媒体作者,想用 AI 做几个自动化工具,那你不需要一上来死磕动态规划。你更需要的是:变量是什么,条件判断是什么,循环是什么,接口是什么,数据怎么流动,错误怎么排查。

也就是说,算法要不要学,取决于你的目标。

「别为了焦虑而学,也别为了偷懒而不学。」

我更推荐一个分层学法:

  • 第一层
    所有人都该学一点编程思维。知道输入、处理、输出,知道程序是按规则执行的。
  • 第二层
    想长期写代码的人,要学常见数据结构和复杂度。数组、对象、栈、队列、哈希表、树、图,至少知道它们适合解决什么问题。
  • 第三层
    想走专业深水区的人,再系统刷算法、补操作系统、网络、数据库、编译原理这些硬基础。
打个比方

不是每个人都要造压缩机。但你至少要知道冰箱是不是在制冷,坏了大概该找谁修,别把热饭直接塞进去还怪冰箱不行。

06新手最该警惕的,是“我会用 AI”等于“我会编程”的错觉

这话可能有点刺耳。现在很多新手用 AI 做出第一个项目,会非常兴奋。我完全理解,那种“原来我也能做出来”的感觉很爽。但这里有个坑:你做出来了,不代表你学会了。

AI 给你搭了一个项目,你能运行起来,这叫完成了一次“结果”。但学习要看的是,你有没有形成“迁移能力”。什么叫迁移能力?就是换一个类似问题,你还能不能做。

今天 AI 帮你做了待办清单,明天换成记账工具,你知道哪些部分类似,哪些部分不同吗?今天它帮你修了登录 bug,明天接口报 401,你知道大概率是权限、token、跨域还是后端校验问题吗?如果完全不知道,那你只是被 AI 带着走了一遍。

打个比方

就像有人跟着导航开车,从家到公司开了十次。但有一天导航坏了,他发现自己连东西南北都分不清。这不是会开路,这是会听指令。

所以初级阶段,我反而建议慢一点。不是不用 AI,而是不要一上来就把所有思考都丢给 AI。你可以先自己想 20 分钟:这个功能大概要分几步?数据放在哪里?用户点击后会发生什么?可能出什么错?

想不出来也没关系,把你的想法告诉 AI,让它补充、纠正、反问你。这时候 AI 是陪练。如果你直接说“帮我全写了”,它就是代笔。

陪练会让你变强,代笔只会让你交作业。

07真正会用 AI 的人,都在做三件事

我观察下来,真正把 AI 编程用得好的人,不是提示词写得多玄学,而是有三个共同点。

第一,先规划,再动手

他们不会一上来就说“帮我写个系统”,而是先让 AI 阅读项目、梳理结构、找相关文件、提出方案,再自己判断方案靠不靠谱。就像盖房子,先看地形、画图纸、确定承重,最后才施工。

第二,小步提交

AI 太容易一口气生成几千行改动。好的做法是把需求拆小:先改数据结构,再改接口,再改页面,再补测试。每一步都能运行,每一步都能回退。AI 速度越快,越容易把错误扩散得很远。

第三,会验证

不是让 AI 说“已经修复”就真的修复了。要运行测试,要手动点一遍关键流程,要看日志,要检查边界情况。能自动化的就自动化,不能自动化的就写清楚自测步骤。

「AI 编程时代最值钱的不是 prompt,而是验收清单。」

你能不能把“这个功能算完成”的标准说清楚?比如不是笼统地“做一个登录功能”,而是:

用户输入正确账号密码能登录;密码错误有提示;空密码不能提交;被禁用账号不能登录;token 过期会跳回登录页;连续失败 5 次要限制;日志不能记录明文密码。

你看,这些话没有一行代码,但它们比代码更重要。AI 可以写实现,但验收标准要靠人定。

08对不同人,我的建议不一样

如果你是普通人,只想用 AI 提高效率

不用把自己吓到,你不需要从 C 语言指针开始啃,也不需要刷 300 道算法题。先学三件事:

① 学会把需求说清楚:要什么输入、什么输出、有哪些规则。

② 学一点基础概念:文件、路径、变量、函数、接口、数据库。

③ 学会做简单验证:生成脚本就拿几组数据测,生成网页就自己点一遍。

如果你是转行学编程的人

不要只学 AI 工具,也不要只学传统教程,最好两条腿走路。看教程时跟着敲核心部分,但别机械复制。每学一个功能,就问 AI:如果让你实现,你会怎么拆?你的代码和教程有什么不同?把 AI 当第二位老师,一个可以随时追问的老师。

如果你是初级程序员

我建议你更谨慎一点。你当然要用 AI,不用会落后,但不要把最该练的东西全交出去——尤其是修 bug、读代码、写测试、做设计。遇到 bug,先自己定位 20 分钟,把现象、猜测、试过的方法写下来,再问 AI。这样问出来的答案质量会高很多,你也会学到东西。

如果你是资深工程师

AI 对你的价值可能更大,因为你脑子里已经有判断框架,能快速筛选 AI 生成的东西,让它探索方案、写样板、补测试、做迁移、查重复逻辑。但资深也有坑:太相信自己的判断,或太相信 AI 的速度。越是大改动,越要设计先行、权限隔离、小步验证。

09最好的学法:古法和 AI 对照着学

我最推荐的学习方式,不是纯古法,也不是纯 AI,是对照。比如你要学一个登录功能:

  • 第一步
    先自己画流程:用户输入账号密码,前端提交,后端校验,生成 token,前端保存,之后请求带上 token。
  • 第二步
    看教程或文档,理解每一步为什么存在。
  • 第三步
    让 AI 实现一个版本。
  • 第四步
    拿 AI 的版本和教程版本对比:目录结构、安全处理、错误提示有什么不同?有没有测试?有没有把密钥写死?
  • 第五步
    让 AI 反过来考你:这段代码哪里处理登录状态?token 过期怎么办?为什么密码不能明文存?

这个过程非常有效。因为你不是被动接受 AI 的答案,而是在“对答案”。小时候做数学题,直接抄答案没用;但你先自己做,再看答案,效果完全不一样。AI 编程也是这个逻辑。

空着脑袋问 AI,得到的是结果。带着问题问 AI,得到的是成长。

10我们到底该扔掉什么,又该留下什么

所以回到开头的问题:AI 编程时代,还要不要学古法?我的答案可以再拆细一点。

可以少做的

· 少花时间死记语法。

· 少做那种为了手熟而手敲 20 遍的重复练习。

· 不再迷信“必须从最底层一层层学完才配做项目”。

· 可以更早用 AI 做真实项目,在项目里反向补知识。

一定要留下的

· 留下读代码的耐心。

· 留下调试问题的肌肉记忆。

· 留下写测试的习惯。

· 留下对安全、性能、可维护性的敬畏。

· 留下对官方文档的尊重。

· 留下把复杂问题拆小的能力。

· 留下不提交自己看不懂代码的底线。

这就是新时代的古法。它不再是“我必须亲手砌每一块砖”,它更像是——

“我得懂这房子为什么不会塌。”

11AI 会放大你原本的水平

有句话我特别认同,它很适合作为 AI 编程时代的学习原则:

AI 可以比我厉害,但是“我 + AI”一定要比 AI 厉害,这就是我存在的价值。

  • 如果你完全没有基础,AI 会放大你的想象力,也会放大你的盲区。
  • 如果你有一点基础,AI 会让你更快做出东西,也会暴露你哪里不懂。
  • 如果你有扎实基本功,AI 就像一个速度极快的助手,帮你把重复劳动压缩掉,让你把精力放在设计、判断和创造上。

所以,AI 不是让基础消失了,而是把基础的价值换了一个地方体现。以前基础体现在:你能不能写出来。以后基础体现在:你能不能定义清楚、判断正确、验收到位、持续改进。

写代码这门手艺,正在从“手工业”变成“指挥系统”。

打个比方

一个真正好的指挥,得懂乐器,懂节奏,懂每个声部什么时候该进、什么时候该停。你不一定亲自拉小提琴,但你听得出来它跑调了。AI 编程也一样——你不一定每行代码都亲手敲,但你得听得出,哪里跑调了。

12最后给一份很实用的学习清单

如果你现在正焦虑,不知道从哪里开始,我给你一份简单清单。不用一次全学完,按顺序来。

01 学会描述需求。别只说“帮我做个网站”,要说清楚:谁用、解决什么问题、有哪些页面、每个按钮点了发生什么、失败时怎么提示。

02 学基础语法,但别死背。变量、条件、循环、函数、数组、对象、异步,这些必须懂。具体 API 忘了可以查、可以问 AI。

03 学会读报错。报错不是敌人,是线索。看到红字先别慌,找文件名、行号、错误类型,再让 AI 解释。

04 学会写测试。哪怕只是让 AI 帮你写 5 个测试用例,也比完全不测强。

05 学数据怎么流动。前端输入怎么到后端,后端怎么查数据库,结果怎么返回页面。把这条线看懂,很多项目就不神秘了。

06 学一点安全常识。密码不能明文存,密钥不能写进代码,删除操作要确认,权限不能只靠前端判断,用户输入不能直接拼 SQL。

07 学会做小步改动。一次只改一个目标,改完就运行。别让 AI 一次性重构半个项目。

08 养成“解释给别人听”的习惯。如果你能把 AI 写的代码讲清楚,说明你真的开始掌控它了。

这份清单看起来不酷,没有“一个提示词月入十万”那么刺激。但它靠谱。而靠谱,在 AI 时代会越来越稀缺。

13结尾:别跪着用 AI,也别闭眼用 AI

AI 编程最好的状态,不是崇拜,也不是抵触。不是跪着说“AI 太强了,我不用学了”,也不是捂着耳朵说“这都是邪门歪道,只有手写才正统”。更好的状态是:承认它强,然后学会用它;承认自己会被改变,然后保留自己的判断。

古法不是旧时代的包袱,而是你面对新工具时,不被它牵着鼻子走的底气。

以后会有越来越多代码不是人一行行敲出来的。但需求是谁定义的,风险是谁承担的,质量是谁把关的,方向是谁决定的?还是人。

所以别问“AI 都会写代码了,我还要不要学”。更好的问题是:我要学到什么程度,才能让 AI 成为我的放大器,而不是我的拐杖

我的答案是:学到你能看懂它、质疑它、验证它、修正它。到那一天,你就不是被 AI 替代的人——

你是带着 AI 干活的人。

如果你身边有正在学编程、准备转行、或者担心被 AI 取代的朋友,把这篇转给他。少看一点焦虑标题,多建立一点真正能用的判断力,比什么都重要。

                      喜欢的话就点点喜欢+关注+转发

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-11 22:25:40 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/741404.html
  2. 运行时间 : 0.148836s [ 吞吐率:6.72req/s ] 内存消耗:4,824.51kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2565c79019f3dbb1366d6eec82ca866d
  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.000889s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001008s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000389s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000310s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000579s ]
  6. SELECT * FROM `set` [ RunTime:0.000219s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000688s ]
  8. SELECT * FROM `article` WHERE `id` = 741404 LIMIT 1 [ RunTime:0.000542s ]
  9. UPDATE `article` SET `lasttime` = 1781187940 WHERE `id` = 741404 [ RunTime:0.002589s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000334s ]
  11. SELECT * FROM `article` WHERE `id` < 741404 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000569s ]
  12. SELECT * FROM `article` WHERE `id` > 741404 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000492s ]
  13. SELECT * FROM `article` WHERE `id` < 741404 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002832s ]
  14. SELECT * FROM `article` WHERE `id` < 741404 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001804s ]
  15. SELECT * FROM `article` WHERE `id` < 741404 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000968s ]
0.152733s