乐于分享
好东西不私藏

别再让AI自由发挥了OODER用元模板、领域骨架、SPI插件规范LLM代码生成的工程实践

别再让AI自由发挥了OODER用元模板、领域骨架、SPI插件规范LLM代码生成的工程实践

别再让AI自由发挥了

OODER用元模板、领域骨架、SPI插件规范LLM代码生成的工程实践

OODERLLM代码生成聚合根SPI元驱动SFT偏好对齐强化学习

大模型代码生成的本质并非智能创作,而是结构化模板的概率续写与规约对齐。受限于自回归生成机制与训练数据统计特性,LLM自由生成代码普遍存在架构无序、领域边界弥散、扩展范式混乱、格式风格不统一等固有缺陷,这也是传统低代码、AI代码生成工具难以落地企业级场景的核心症结。现有研究多聚焦于模型侧后训练算法优化,仅从损失函数、偏好对齐、强化学习角度提升代码正确率,却普遍忽略模型生成特性与工程架构范式的底层冲突,存在"算法优化到位、工程落地依旧失效"的研究缺口。

OODER框架作为AI原生全栈代码生成架构,跳出传统"模型微调即全部"的单一研究视角,基于LLM代码后训练、偏好对齐、结构化生成的经典学术原理,创新性构建了动态元驱动+聚合根固化+SPI插件扩展的三层架构约束体系。本文核心学术创新在于:反向定义"工程架构适配模型生成特性"的AI原生设计范式,通过标准化元模板规约、固化领域生成骨架、统一扩展插件范式,将LLM无约束的概率化自由生成,转化为可控、规范、可迭代的结构化模板填充,从架构层面填补了LLM代码生成"算法对齐充分、架构约束缺失"的学术空白,解决大模型代码生成的幻觉、结构错乱、扩展失控等核心工程难题。

范式重构:传统软件架构与LLM代码生成架构的核心冲突

传统软件架构设计服务于人类程序员的工程思维,核心追求高内聚低耦合、模块复用、可维护性与高可用性,依赖人工全局规划、分层设计、逻辑拆解,具备完整的架构预判与全局统筹能力。而LLM代码生成遵循统计概率与模板匹配思维,无全局架构规划能力,仅能基于上下文与训练习得范式逐词续写,二者底层逻辑完全相悖。

图1:传统软件架构 vs LLM代码生成架构 — 范式冲突全景

结合LLM代码后训练核心技术(代码指令微调、偏好对齐、组级强化学习)的理论结论,自由生成模式的核心缺陷可归纳为三点:

  • 结构范式漂移
    :LLM后训练习得海量代码范式,无强制约束时,会随上下文语义波动随机切换架构风格,导致分层错乱、类结构不统一、代码风格割裂;
  • 领域边界幻觉
    :大模型无法自主界定DDD领域边界,长序列生成中易出现实体关联混乱、跨域冗余代码、聚合逻辑缺失等问题,破坏业务代码整体性;
  • 扩展能力失控
    :自由生成的扩展代码无统一规范,接口定义、注册方式、依赖管理随意性强,无法形成可复用、可迭代的插件体系,丧失工程落地价值。

OODER框架的核心创新逻辑

不依赖模型的"智能理解与算法进化",开创性用工程架构约束模型的"概率生成行为",通过三层层级化模板约束体系,适配LLM模板匹配、逐词续写、偏好固定范式的原生特性,实现了从"模型单向优化"到"模型-架构双向适配"的范式升级。

动态元驱动:适配LLM生成的底层结构化模板基座

2.1 技术选型核心本质

传统框架的配置驱动、注解驱动,核心目的是简化开发、解耦代码;而OODER动态元驱动体系的选型,核心是为LLM构建一套机器可解析、模型可对齐、全栈可映射的结构化Prompt模板体系。依据代码指令微调的核心结论:LLM无法深度理解业务抽象语义,但对结构化、标准化、规则化的模板具备极强的匹配与填充能力。

图2:OODER动态元驱动体系 — 适配LLM生成的底层结构化模板基座

2.2 适配LLM后训练特性的核心设计

元注解固化格式范式,消解生成随机性

OODER通过标准化元注解,统一DO、DTO、Service、Controller、前端组件的定义规范与分层边界。契合Code SFT指令对齐训练的核心特性,LLM天生遵循"优先匹配格式概率、再填充业务逻辑"的生成规则。

元注解定义示例 — CustomAnnotation.java

@Target({ElementType.FIELD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomAnnotation {
    String caption() default "";
    String description() default "";
    boolean required() default false;
    String defaultValue() default "";
    FieldType fieldType() default FieldType.TEXT;
}

LLM基于元注解模板生成的实体代码

public class DepartmentManagement {

    @CustomAnnotation(caption="部门名称")
    @TreeGridColItemAnnotation(width="8.0em")
    private String departmentName;

    @CustomAnnotation(caption="部门编码")
    @TreeGridColItemAnnotation(width="8.0em")
    private String departmentCode;

    @CustomAnnotation(caption="负责人")
    @TreeGridColItemAnnotation(width="8.0em")
    private String responsiblePerson;

    @CustomAnnotation(caption="联系电话")
    @TreeGridColItemAnnotation(width="8.0em", flexSize=true)
    private String contactPhone;
}

动态元数据适配语义可变生成

区别于静态固定模板,动态元驱动支持字段、规则、场景的动态调整,完美适配LLM的动态语义匹配能力。同一套底层元模板,可根据用户自然语言指令,动态填充不同业务参数、校验规则、逻辑代码,实现"一模板适配多场景"的灵活生成能力。

2.3 选型对比:元驱动完胜硬编码的AI原生逻辑

对比维度
传统硬编码/低代码模板
OODER动态元驱动
设计目标
简化人工开发
适配LLM概率生成
模板特性
静态僵化,复用性差
动态可变,语义适配
LLM生成方式
自由仿写,范式混乱
规则约束下精准填充
生成质量依赖
完全依赖模型泛化能力
模板规约+模型能力双保障
格式一致性
无法保证
元注解强制约束

聚合根架构:LLM领域代码生成的标准化骨架模板

3.1 选型核心逻辑

传统DDD中,聚合根用于界定领域边界、保障数据一致性;而在OODER+LLM的AI原生架构中,聚合根的核心价值是固化领域代码的最小生成单元与全局骨架模板。LLM的核心短板是无全局架构规划能力,长序列生成极易出现领域边界模糊、实体关联紊乱、聚合逻辑缺失等问题,而聚合根就是为弥补这一模型缺陷设计的中层架构约束。

图3:OODER聚合根架构 — LLM领域代码生成的标准化骨架模板

3.2 适配LLM生成的隐性架构价值

  • 固化领域边界,约束生成范围
    :聚合根统一界定核心实体、关联实体、领域行为的边界范围,强制LLM仅在当前领域模板内生成代码,杜绝跨领域冗余代码与逻辑漂移。
  • 简化生成难度,降低幻觉概率
    :聚合根预设实体结构、仓储接口、领域服务、查询能力的完整骨架,LLM无需从零搭建领域架构,仅需专注填充业务字段与核心逻辑。契合直接偏好优化训练中"模型偏好完整规范骨架、排斥碎片化无序代码"的对齐逻辑。
  • 统一领域范式,适配增量迭代生成
    :固定聚合根骨架保证每一轮生成都对齐原有领域范式,避免迭代过程中结构变形、风格割裂。

聚合根基类 — AbstractAggregateRoot.java

public abstract class AbstractAggregateRoot<ID> {
    protected ID id;
    protected List<DomainEvent> domainEvents = new ArrayList<>();
    protected int version;

    protected AbstractAggregateRoot() {
        this.id = generateId();
    }

    protected abstract ID generateId();
    public ID getId() { return id; }

    public void addDomainEvent(DomainEvent event) {
        domainEvents.add(event);
    }

    public interface Repository<T extends AbstractAggregateRoot<ID>> {
        T findById(ID id);
        List<T> findAll();
        void save(T aggregate);
        void delete(T aggregate);
    }
}

LLM生成的领域聚合根 — DepartmentAggregate.java

public class DepartmentAggregate extends AbstractAggregateRoot<String> {
    private Department department;
    private DepartmentCode departmentCode;
    private String parentId;
    private int sortOrder;

    @Override
    protected String generateId() {
        return UUID.randomUUID().toString().replace("-", "");
    }

    public static DepartmentAggregate create(String name, String code, String parentId) {
        DepartmentAggregate aggregate = new DepartmentAggregate();
        aggregate.department = new Department(name);
        aggregate.departmentCode = new DepartmentCode(code);
        aggregate.parentId = parentId;
        aggregate.addDomainEvent(new DepartmentCreatedEvent(aggregate.getId(), name));
        return aggregate;
    }

    public void rename(String newName) {
        this.department.setName(newName);
    }
}

3.3 LLM后训练视角的选型结论

OODER聚合根架构首次将DDD聚合根领域边界理论与LLM自回归生成特性深度耦合,把传统用于数据一致性的聚合根,重构为领域代码生成的范式收敛骨架。通过架构强制约束收敛模型多样化生成路径,解决了"模型习得范式多、落地收敛难"的行业学术痛点,弥补了DDD与AI代码生成结合的理论落地缺口。

SPI扩展体系:LLM插件化增量生成的统一扩展模板

4.1 选型核心本质

传统框架选用SPI仅用于工程解耦与热插拔,现有AI代码生成研究也未针对增量续写场景设计专属扩展范式。结合代码强化学习核心原理可知:LLM在增量生成、局部改写场景中,稀疏奖励极易导致扩展代码范式失控、接口错乱。OODER创新性重构SPI体系的学术定位,将传统工程解耦组件,升级为LLM插件化增量生成的标准化对齐模板

图4:OODER SPI扩展体系 — LLM插件化增量生成的统一扩展模板

4.2 SPI体系适配LLM生成的核心优势

SPI接口定义 — LlmProvider.java

public interface LlmProvider {
    String getProviderName();
    Map<String, Object> chat(String model,
        List<Map<String, Object>> messages,
        Map<String, Object> options);
    List<String> getSupportedModels();
    boolean isAvailable();
}

public interface EnhancedLlmProvider extends LlmProvider {
    Map<String, Object> chatWithFunctions(String model,
        List<Map<String, Object>> messages,
        List<FunctionCall> functions,
        Map<String, Object> options);
    Map<String, Object> chatMultimodal(String model,
        List<Map<String, Object>> messages,
        Map<String, Object> options);
    boolean supportsFunctionCalling(String model);
}

SPI配置文件 — META-INF/services/net.ooder.scene.skill.llm.LlmProvider

# DeepSeek LLM Provider
net.ooder.scene.skill.llm.impl.DeepSeekLlmProvider
# Ollama 本地 LLM Provider
net.ooder.scene.skill.llm.impl.OllamaLlmProvider
# OpenAI 兼容 Provider
net.ooder.scene.skill.llm.impl.OpenAICompatibleProvider

4.3 三档部署适配

部署档位
存储
LLM
向量库
包大小
适用场景
Tiny
文件
Ollama
内存
< 5 MB
开发测试/边缘设备
Small
JDBC
远程 API
Milvus Lite
15-25 MB
小型部署/POC
Enterprise
分布式
多模型路由
分布式向量库
50-150 MB
企业生产

4.4 对比传统扩展模式

对比维度
Spring自动装配/工厂类
OODER SPI体系
规范性
灵活但无固定范式
强规范、模板化、机器可解析
LLM生成一致性
写法混乱,风格不一
自动匹配训练模板
热插拔能力
需修改代码或配置
原生支持动态加载
部署灵活性
通常全量部署
Tiny/Small/Enterprise三档

架构协同:三层模板体系对LLM生成的全链路可控约束

OODER动态元驱动、聚合根、SPI体系并非独立模块,而是一套深度适配LLM预训练与后训练特性的层级化约束架构,完全贴合代码指令微调、偏好对齐、组级强化学习的核心技术逻辑,形成从底层规则、中层结构到上层扩展的全链路标准化闭环。

图5:OODER三层模板约束体系 — 全链路AI代码生成闭环

  • 底层:动态元驱动(规则模板)
    :定义全栈代码的语法、分层、注解、参数通用规则,约束LLM基础生成格式,解决代码不规范、风格混乱的基础问题;
  • 中层:聚合根(领域模板)
    :固化业务领域的代码骨架与边界逻辑,约束LLM领域生成行为,解决结构混乱、领域边界模糊、长序列幻觉问题;
  • 上层:SPI体系(扩展模板)
    :标准化插件增量扩展范式,约束LLM自定义生成、迭代续写行为,解决扩展失控、无法复用、难以迭代的工程问题。

核心学术创新价值

突破现有研究"仅优化模型、不约束输出"的单一思维,构建了模型后训练对齐 + 工程架构层级约束的双向适配理论,将LLM原生的无状态、概率化、自由式生成,强制转化为有模板、有规约、有边界、可收敛的结构化填充。该体系首次完整打通了"元规则约束-领域骨架收敛-扩展范式统一"的全链路AI代码生成闭环。

总结:AI原生视角下的技术选型核心逻辑

相较于当前学界主流的模型微调、损失函数优化、偏好对齐等研究,OODER框架跳出模型层优化的固有范式,形成了架构层适配模型的原创性学术贡献,核心创新逻辑可归纳为三点:

架构组件
选型本质
解决的LLM生成问题
动态元驱动
为LLM代码生成搭建全栈标准化规则模板体系
格式不统一、注解缺失、分层错乱
聚合根架构
为领域代码生成提供统一骨架模板与边界约束
领域边界模糊、结构混乱、逻辑漂移
SPI扩展体系
为增量插件化生成提供通用扩展模板范式
扩展失控、接口混乱、配置缺失

整体而言,OODER框架的架构设计,本质是开创了"工程架构适配模型特性"的AI原生设计新范式,区别于传统单一的模型算法优化研究,从架构层面补齐了LLM代码生成工程落地的理论短板,完美承接并延伸了主流代码大模型后训练的学术成果,有效解决了LLM代码生成"能用但不规范、能生成但难落地"的行业痛点。该研究为AI全栈代码生成的企业级工程化落地,提供了全新的理论支撑、架构范式与实践路径,具备显著的学术创新价值与工程应用价值。

OODER Framework — AI原生全栈代码生成框架

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-31 05:44:52 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/683256.html
  2. 运行时间 : 0.136913s [ 吞吐率:7.30req/s ] 内存消耗:4,773.09kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a9bb43cfa42327e01b492605b3ceeaef
  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.000590s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000919s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000338s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000229s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000574s ]
  6. SELECT * FROM `set` [ RunTime:0.001709s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000653s ]
  8. SELECT * FROM `article` WHERE `id` = 683256 LIMIT 1 [ RunTime:0.000488s ]
  9. UPDATE `article` SET `lasttime` = 1780177492 WHERE `id` = 683256 [ RunTime:0.009774s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000272s ]
  11. SELECT * FROM `article` WHERE `id` < 683256 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000495s ]
  12. SELECT * FROM `article` WHERE `id` > 683256 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004610s ]
  13. SELECT * FROM `article` WHERE `id` < 683256 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000976s ]
  14. SELECT * FROM `article` WHERE `id` < 683256 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002596s ]
  15. SELECT * FROM `article` WHERE `id` < 683256 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000896s ]
0.138633s