Files
larablog/docs/architecture.md
T
ak 263b98b218 Initial baseline: LaraBlog core with plugin commerce surface.
Captures the current working tree after theme slots, ArticleAccess, and the payment / paid-content plugins so subsequent work has a reviewable git history.
2026-08-12 01:15:38 +08:00

1.8 KiB
Raw Blame History

LaraBlog 架构与开发思想

目标

把 sablog 内容与 SEO 权重迁到现代 Laravel 栈:不克隆过时能力Trackback/WAP/旧 Admin),用主题/插件/对象存储/AI 队列替换。

分层

HTTP (legacy .shtml + /admin Filament + /api/v1)
  → Controllers / Filament Pages
    → Domain (Blog / Media / Theme / Plugin / Seo / Ai)
      → Eloquent Models + Spatie Settings
        → S3 disk / Redis queues / Workerman

关键约定

区域 路径
Legacy 前台 URL routes/legacy.php
Web 辅助 routes/web.php
JSON API(小程序/其他端) routes/api.php/api/v1/*
领域逻辑 app/Domain/*
主题 themes/{slug}/
插件 plugins/{vendor}/{name}/
规格 docs/specs/larablog-platform/
OpenAPI docs/api/openapi.yaml

开发模式

  1. 规格先行:非琐碎功能写 SPEC / CHECKLIST / TESTPLAN
  2. 兼容优先:文章/分类 ID、.shtml 内容 URL 保持可达
  3. 引用不写死 CDN:正文存 [attach=id] / attach:id,渲染期转 /attachment.php?id=
  4. 异步 AIWeb 不阻塞 LLM;队列 / Workerman 消费
  5. 默认中文APP_LOCALE=zh_CN,文案走 lang/zh_CN/*
  6. 测试PHPUnit Feature sqlite :memory:(见 phpunit.xml);CI 同配置

PHP / 代码风格

  • 目标运行时:PHP 8.2+composer.json
  • 应用代码逐步统一 declare(strict_types=1);
  • 类型提示、返回类型、枚举优先;避免软依赖全局状态

一期 vs 二期

  • 一期已做:核心博客、主题引擎、插件框架、SEO/GEO、导入、AI stub 管道、前台皮肤、后台 Filament
  • 一期骨架:支付 / 会员 / 双商城(非真实结算)
  • 二期:自动配图、真实支付会员、小程序完整写接口与鉴权深化