乐于分享
好东西不私藏

AI写代码比你快100倍?揭秘AI编程工具背后的工作原理与实战指南

AI写代码比你快100倍?揭秘AI编程工具背后的工作原理与实战指南

📢 前言

凌晨两点,小王盯着屏幕上的红色报错信息,第18次深呼吸。需求文档改了五版,接口文档还没看完,后端代码却催得火烧眉毛。这是北京某互联网公司后端工程师小王的日常,也是中国50万+程序员的共同缩影。

你有多少时间浪费在了重复劳动上? 据Stack Overflow 2024年调研显示,全球开发者平均每周花费 12.6小时 在重复性代码编写上,相当于每年有整整2个月在做"代码搬运工"。

而最近一年,一个叫 AI编程 的新物种横空出世,它不仅能帮你写代码,还能读懂需求、自动补全、找出bug。它到底是什么?为什么有人说它能提升10倍效率,又有人吐槽它"一本正经地胡说八道"?

今天,我就用一篇文章,把这个事情讲透。


🔬 第一部分:AI编程的底层原理

1.1 从"鹦鹉学舌"到"理解语义"

很多人第一次用AI写代码时,会发出一个疑问:它是怎么知道我要写什么的?

要回答这个问题,我们得先搞清楚AI编程工具的"大脑"是什么。

传统编程工具(比如IDE的自动补全)本质上是规则匹配——你敲for,它知道你要循环;你敲str,它知道你要字符串。这种方式就像鹦鹉,你教它说什么它就说什么,但鹦鹉永远不理解"循环"是什么意思。

而现代AI编程工具(比如GitHub Copilot、通义灵码)背后站的是大语言模型(LLM),这玩意儿的工作方式更像一个真正"懂代码"的人类。

你可以把LLM理解成一个读了数万亿行代码的程序员。它不仅见过for i in range(n): print(i)这种写法,还见过十万种变体,理解了为什么程序员要在循环里打印数字,理解了range()while的区别,理解了性能优化的考量。

这就是为什么AI能"举一反三"——它不是在匹配规则,而是在理解语义。

1.2 AI编程的"思考"流程

让我们用一个小白的视角,看看当你输入一行代码时,AI到底在干什么:

┌─────────────────────────────────────────────────────────────────┐
│                        AI编程工作流程                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  【用户输入】                                                    │
│  def calculate_discount(price,                                   │
│       │                                                          │
│       ▼                                                          │
│  ┌─────────────┐    ┌──────────────┐    ┌─────────────────┐      │
│  │ 代码分词器   │───▶│ 上下文理解    │───▶│  概率预测引擎    │      │
│  │ Tokenizer   │    │ Context      │    │  Probability    │      │
│  └─────────────┘    └──────────────┘    └─────────────────┘      │
│                                                  │               │
│       ┌───────────────────────────────────────────┘               │
│       ▼                                                             │
│  ┌──────────────────┐    ┌──────────────────┐                     │
│  │  生成候选代码     │───▶│  安全与质量检查   │                     │
│  │  Code Suggestion │    │  Safety Check    │                     │
│  └──────────────────┘    └──────────────────┘                     │
│              │                                                        │
│              ▼                                                        │
│     ┌────────────────┐                                               │
│     │ 返回推荐代码   │                                               │
│     │  (灰色高亮)    │                                               │
│     └────────────────┘                                               │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

分词器负责把你的代码切成模型能理解的"词块"——专业术语叫Token。

上下文理解是AI编程的核心能力。模型不仅看你当前光标所在的代码行,还会浏览整个文件、关联的import语句、甚至注释里的需求描述。这就是为什么有时候你刚写完一个函数的docstring,AI就能猜到你接下来想实现什么功能。

概率预测引擎是AI的"创意"来源。模型会对每个可能的代码续写方案计算概率,然后返回概率最高的几个选项。这个过程发生在毫秒级别,但你打开Copilot时看到的那个"加载中"提示,其实是在等网络请求。

1.3 预训练 + 微调:打造"代码专家"

大语言模型之所以能懂代码,需要经历两个关键阶段:

📚 预训练阶段(学遍天下武功)

想象一个学生读了4年计算机专业,从《数据结构》到《操作系统》,从《算法导论》到《计算机网络》,把经典教材都啃了一遍。大模型的预训练就是这个过程——它用海量的公开代码库(GitHub、Stack Overflow等)进行训练,学会了代码的"语法"和"套路"。

🎯 微调阶段(专攻某项技能)

预训练完成后,模型已经是个"通才",但还不够"专精"。微调阶段会用高质量的<问题,优质代码>对进行强化学习。比如专门训练它理解"如何写一个安全的用户登录接口","如何实现幂等性设计"。

冷知识:GPT-4级别的代码模型,训练一次的成本超过 1000万美元。所以你用的每一行AI建议,背后都是真金白银。


💻 第二部分:实战!写一个"AI代码审查助手"

光说不练假把式,让我们来点硬核的。

下面是一个基于通义灵码API实现的代码审查工具,能够自动检测Python代码中的常见安全问题。代码可以直接运行(需要自行申请API Key)。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
AI代码审查助手 v1.0
功能:自动检测Python代码中的SQL注入、XSS等安全漏洞
作者:技术老王
"""


import requests  # 发送HTTP请求
import json      # 处理JSON数据
import re        # 正则表达式,用于代码模式匹配
from typing import ListDict  # 类型提示,提升代码可读性

# ============================================================
# 配置区:修改以下两个变量为你自己的凭证
# ============================================================
API_KEY = "your_api_key_here"           # 通义灵码的API密钥
API_ENDPOINT = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation"

# 严重漏洞模式:匹配常见的SQL注入风险
SQL_INJECTION_PATTERNS = [
    r'execute\s*\(\s*["\'].*%s',      # execute("SELECT * FROM users WHERE id=%s", ...)
    r'cursor\.execute\s*\(\s*f["\']'# cursor.execute(f"DELETE FROM {user_input}")
    r'\|'.join([r'execute\s*\(\s*["\'].*format\(',
                r'execute\s*\(\s*["\'].*\+\s*']),    # 字符串拼接或format拼接
]

# XSS漏洞模式:匹配未转义的用户输入直接输出
XSS_PATTERNS = [
    r'response\.write\s*\(\s*\w+\s*\)',   # response.write(userInput) 未转义
    r'innerHTML\s*=\s*\w+',              # element.innerHTML = userData
    r'document\.write\s*\(\s*\w+\s*\)',  # document.write(userInput)
]

class SecurityScanner:
    """安全扫描器:检测代码中的常见漏洞模式"""
    
    def __init__(self, api_key: str):
        # 初始化扫描器,设置API凭证
        self.api_key = api_key
        self.found_issues = []           # 存储发现的问题
    
    def scan_patterns(self, code: str) -> List[Dict]:
        """
        使用正则表达式扫描代码中的安全漏洞
        @param code: 待扫描的源代码
        @return: 问题列表,每个问题包含类型、行号、描述
        """

        issues = []
        
        # 遍历SQL注入模式进行匹配
        for pattern in SQL_INJECTION_PATTERNS:
            matches = re.finditer(pattern, code, re.IGNORECASE)
            for match in matches:
                # 计算行号:从匹配位置向前计数
                line_no = code[:match.start()].count('\n') + 1
                issues.append({
                    'type''SQL_INJECTION',      # 问题类型
                    'line': line_no,               # 所在行号
                    'severity''HIGH',            # 严重程度
                    'pattern'match.group(),      # 匹配的代码片段
                    'suggestion''使用参数化查询替代字符串拼接'
                })
        
        # 遍历XSS模式进行匹配
        for pattern in XSS_PATTERNS:
            matches = re.finditer(pattern, code, re.IGNORECASE)
            for match in matches:
                line_no = code[:match.start()].count('\n') + 1
                issues.append({
                    'type''XSS_VULNERABILITY',
                    'line': line_no,
                    'severity''MEDIUM',
                    'pattern'match.group(),
                    'suggestion''对用户输入进行HTML转义或使用textContent'
                })
        
        return issues
    
    def ask_ai_for_deep_scan(self, code_snippet: str) -> str:
        """
        调用AI进行深度分析:让AI理解代码的业务逻辑,判断潜在风险
        @param code_snippet: 代码片段
        @return: AI的分析建议
        """

        headers = {
            'Authorization'f'Bearer {self.api_key}',  # API认证头
            'Content-Type''application/json'
        }
        
        # 构建prompt:引导AI扮演安全专家
        prompt = f"""请分析以下Python代码的安全风险:
        
```python
{code_snippet}

请从以下维度分析:

  1. 是否有敏感数据泄露风险?

  2. 是否有权限绕过可能?

  3. 是否有注入攻击风险?

  4. 给出具体修复建议(带代码示例) """

     payload = {
         'model': 'qwen-max',           # 使用通义千问Max模型
         'input': {
             'prompt': prompt
         },
         'parameters': {
             'temperature': 0.3,        # 低温度,保证回答准确性
             'max_tokens': 500
         }
     }
     
     try:
         # 发送API请求,获取AI分析结果
         response = requests.post(
             API_ENDPOINT,
             headers=headers,
             data=json.dumps(payload),
             timeout=30                  # 30秒超时,避免长时间等待
         )
         result = response.json()
         return result['output']['text']
     except Exception as e:
         return f"AI分析请求失败: {str(e)}"

    def scan_file(self, file_path: str, use_ai: bool = True) -> Dict: """ 扫描整个文件的安全问题 @param file_path: 文件路径 @param use_ai: 是否启用AI深度分析 @return: 扫描报告 """ # 读取源代码文件 with open(file_path, 'r', encoding='utf-8') as f:     code = f.read() # 第一层扫描:正则模式匹配(快速扫描) pattern_issues = self.scan_patterns(code) # 第二层扫描:AI深度分析(可选,耗时间但更准确) ai_analysis = "" if use_ai:     # 只对关键代码段进行AI分析,避免API调用过多     critical_section = self._extract_critical_code(code)     ai_analysis = self.ask_ai_for_deep_scan(critical_section) return {     'file': file_path,     'pattern_issues': pattern_issues,     'ai_analysis': ai_analysis,     'total_issues': len(pattern_issues) } def _extract_critical_code(self, code: str) -> str: """提取代码中的关键部分(处理用户输入的函数)""" # 简化处理:只提取包含input、request、user等关键词的函数 critical_lines = [] for i, line in enumerate(code.split('\n')):     keywords = ['input(', 'request', 'user', 'eval(', 'exec(']     if any(kw in line for kw in keywords):         critical_lines.append(f"Line {i+1}: {line}") return '\n'.join(critical_lines[:20])  # 最多返回20行

============================================================

程序入口:演示如何调用审查工具

============================================================

if name == "main":    # 示例代码:包含故意的安全漏洞,用于测试    sample_code = ''' import sqlite3

def login(username, password):    # 🚨 SQL注入漏洞:直接拼接用户输入    query = f"SELECT * FROM users WHERE name='{username}' AND pwd='{password}'"    conn = sqlite3.connect('app.db')    cursor = conn.cursor()    cursor.execute(query)  # 用户输入 admin' OR '1'='1 可以直接登录    return cursor.fetchone()

def display_user_comment(comment):    # 🚨 XSS漏洞:未转义的用户评论直接输出    page = f"

{comment}
"    return page '''
# 初始化扫描器
scanner = SecurityScanner(api_key=API_KEY)

# 执行扫描(不调用AI,只用正则模式,快速演示)
report = scanner.scan_file("demo.py", use_ai=False)

# 打印报告
print("=" * 50)
print("🔍 安全扫描报告")
print("=" * 50)
print(f"文件: {report['file']}")
print(f"发现问题: {report['total_issues']} 个")
print()

for issue in report['pattern_issues']:
    severity_icon = "🔴" if issue['severity'] == 'HIGH' else "🟡"
    print(f"{severity_icon} {issue['type']}")
    print(f"   位置: 第 {issue['line']} 行")
    print(f"   代码: {issue['pattern']}")
    print(f"   建议: {issue['suggestion']}")
    print()

### 代码说明

这段代码实现了**两层防护机制**:

1. **正则扫描层**:用模式匹配快速定位明显的漏洞(SQL注入、XSS等)
2. **AI分析层**:调用大模型理解代码的业务逻辑,发现正则难以捕捉的复杂风险

在实际项目中,你可以把这个工具集成到CI/CD流水线里,每次`git push`自动触发代码审查,真正做到**把安全漏洞消灭在代码提交阶段**。

---

## 🧠 第三部分:原理进阶——AI编程的局限性与最佳实践

### 3.1 AI不是万能的:这些坑你别踩

说了这么多AI编程的好处,我们也要正视它的**局限性**:

**❌ 幻觉问题(Hallucination)**

AI有时会一本正经地"编造"代码——比如引用一个根本不存在的库函数,或者生成一段语法看起来对但逻辑完全错误的代码。据GitHub统计,Copilot生成的代码中约有 **18%** 存在各种问题。

**❌ 上下文窗口限制**

AI能"记住"的内容是有限的。以GPT-4为例,它最多只能处理128K tokens的上下文。换句话说,如果你丢给它一个10万行的 monolith 代码库,让它帮你重构,它很可能会**"失忆"**,忽略掉远处模块的依赖关系。

**❌ 业务逻辑理解不足**

AI能写"技术正确"的代码,但不一定能写"业务正确"的代码。比如,它可能不知道你们公司的订单状态机有哪几种状态,不知道某个字段的枚举值是什么,不知道你们的接口要对接哪个第三方系统。

### 3.2 提示工程:你真的会问AI吗?

同样的AI工具,为什么有人用起来如虎添翼,有人却觉得"鸡肋"?关键在于**提示词(Prompt)的质量**。

分享几个我在实战中总结的技巧:

┌──────────────────────────────────────────────────────────┐ │              🏆 优质提示词公式                            │ ├──────────────────────────────────────────────────────────┤ │                                                          │ │  【角色】+【任务】+【约束】+【输出格式】                   │ │                                                          │ │  示例:                                                   │ │  你是一位有10年经验的Python后端工程师,                    │ │  请帮我写一个用户认证的JWT中间件,                         │ │  要求:支持Token刷新、支持Redis存储黑名单                  │ │  请用FastAPI风格实现,附上单元测试示例                     │ │                                                          │ └──────────────────────────────────────────────────────────┘


**具体化约束条件**非常重要。你要告诉AI用什么语言、什么框架、什么版本,甚至可以限制它"不许用某个库"。

### 3.3 人机协作的正确姿势

AI编程的最佳实践不是"让AI完全替代你",而是**人机协作**:

- **AI负责**:重复性代码(CRUD接口、GET/POST处理器)、代码补全、注释生成、简单bug修复
- **人类负责**:架构设计、业务逻辑、边界条件、安全考量、最终代码审查

> 记住:AI是工具,不是同事。你是**指挥官**,不是**传话筒**。

---

## ⚖️ 第四部分:横向对比与选型建议

### 4.1 主流AI编程工具对比

| 工具 | 母公司 | 核心能力 | 免费额度 | 适用场景 |
|------|--------|----------|----------|----------|
| **GitHub Copilot** | 微软/OpenAI | 代码补全、函数生成 | 60次/月 | 全栈开发、IDE集成 |
| **通义灵码** | 阿里云 | 中文优化、本地化 | 每日200次 | 中国区开发者 |
| **Cursor** | Cursor AI | AI编辑器、代码库问答 | 免费基础版 | 需要深度代码理解 |
| **CodeWhisperer** | 亚马逊 | AWS集成、安全扫描 | 个人免费 | 云原生开发 |

### 4.2 我的选型建议

**👨‍💻 初中级工程师**
建议从**通义灵码**或**GitHub Copilot**入手。它们对IDE支持好,能在日常编码中潜移默化地提升效率,而且免费额度足够学习使用。

**🏢 企业用户**
如果有合规要求,推荐使用**通义灵码企业版**或**CodeWhisperer**,它们在数据隐私保护上有更强的合规承诺。

**🎓 研究/学习场景**
**Cursor**值得关注,它的对话式交互更适合学习新技术——你可以边写代码边问"这个语法是什么意思",AI会即时解答。

**☁️ 云原生/DevOps**
如果你的工作大量涉及AWS、容器化、Kubernetes,推荐**CodeWhisperer**,它对云原生场景有专项优化。

---

## 📝 总结

AI编程不是要取代你,而是**放大你的能力边界**。它像一个不知疲倦的助手,帮你处理繁琐的重复劳动,让你把精力聚焦在真正需要创造力的地方。

**但记住三个原则:**

1. 🚫 **别盲目信任AI**:它会犯错,你要负责
2. ✅ **学会提问**:好的提示词能让AI发挥80%的能力
3. 🎯 **人机分工**:让AI干体力活,你做决策

最后,送大家一句话:**AI不会淘汰工程师,但会用AI的工程师会淘汰不会用AI的工程师。**

现在,去试试吧!

---

*如果你觉得这篇文章有帮助,欢迎转发给需要的朋友。有任何问题欢迎留言讨论。*

**往期推荐:**
- [《别再手写SQL了!3分钟教你用Python生成百万级测试数据》](https://example.com)
- [《从0到1:如何用Docker搭建你的第一个CI/CD流水线》](https://example.com)
- [《面试必问:Redis分布式锁的8种坑,我帮你踩完了》](https://example.com)
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-13 13:59:42 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/617970.html
  2. 运行时间 : 0.165001s [ 吞吐率:6.06req/s ] 内存消耗:4,865.05kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=bb510b4c5edc8d9b9e21f295d8053470
  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.000409s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000536s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002218s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000281s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000487s ]
  6. SELECT * FROM `set` [ RunTime:0.000235s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000599s ]
  8. SELECT * FROM `article` WHERE `id` = 617970 LIMIT 1 [ RunTime:0.004597s ]
  9. UPDATE `article` SET `lasttime` = 1778651982 WHERE `id` = 617970 [ RunTime:0.002935s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.001284s ]
  11. SELECT * FROM `article` WHERE `id` < 617970 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000992s ]
  12. SELECT * FROM `article` WHERE `id` > 617970 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003908s ]
  13. SELECT * FROM `article` WHERE `id` < 617970 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.017432s ]
  14. SELECT * FROM `article` WHERE `id` < 617970 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007921s ]
  15. SELECT * FROM `article` WHERE `id` < 617970 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.007596s ]
0.168399s