refactor(classes): split oversize modules + bootstrap hygiene

- Trait-split content-pay, vip-service, balance-service, order-repository
- Procedural split of user module into user-parts/*
- Split scripts enqueue_public into part-1b/1c; settings bulk trait
- Bootstrap: explicit notifications, widgets glob-only, home-modules init
- ADR: freeze domain placement for pay/revenue/notify boundaries
This commit is contained in:
2026-07-17 11:42:29 +08:00
parent ce1c13b947
commit 9c309b4c7f
28 changed files with 7350 additions and 6688 deletions
+18 -8
View File
@@ -67,6 +67,7 @@ require_once AKSRT_DIR . '/inc/classes/core/setup-traits/trait-aksrt-setup-part-
require_once AKSRT_DIR . '/inc/classes/core/setup-traits/trait-aksrt-setup-part-2.php';
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-setup.php';
require_once AKSRT_DIR . '/inc/classes/core/scripts-traits/trait-aksrt-scripts-part-1b.php';
require_once AKSRT_DIR . '/inc/classes/core/scripts-traits/trait-aksrt-scripts-part-1c.php';
require_once AKSRT_DIR . '/inc/classes/core/scripts-traits/trait-aksrt-scripts-part-2.php';
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-scripts.php';
require_once AKSRT_DIR . '/inc/classes/frontend/class-aksrt-inline-style-builder.php';
@@ -93,6 +94,7 @@ require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-integration
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-extension-runtime.php';
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-forum-shop.php';
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings-capabilities.php';
require_once AKSRT_DIR . '/inc/classes/settings/trait-aksrt-settings-facade-bulk.php';
require_once AKSRT_DIR . '/inc/classes/settings/class-aksrt-settings.php';
// --- admin: SPA controllers + schema + native ops ---
@@ -210,6 +212,7 @@ require_once AKSRT_DIR . '/inc/classes/auth/class-aksrt-email-rollback.php';
// --- user ---
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user.php';
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-notifications.php';
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-center.php';
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-home.php';
require_once AKSRT_DIR . '/inc/classes/user/class-aksrt-user-restriction.php';
@@ -231,6 +234,9 @@ require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-db-migrator.php';
// --- credits / wallet ---
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-credits.php';
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-balance.php';
require_once AKSRT_DIR . '/inc/classes/credits/balance-service-traits/trait-aksrt-balance-service-rest.php';
require_once AKSRT_DIR . '/inc/classes/credits/balance-service-traits/trait-aksrt-balance-service-charge.php';
require_once AKSRT_DIR . '/inc/classes/credits/balance-service-traits/trait-aksrt-balance-service-points.php';
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-balance-service.php';
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-points-free.php';
require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-credits-earn.php';
@@ -239,13 +245,19 @@ require_once AKSRT_DIR . '/inc/classes/credits/class-aksrt-invite.php';
// --- content pay / download / VIP ---
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-download.php';
require_once AKSRT_DIR . '/inc/classes/content/content-pay-traits/trait-aksrt-content-pay-rest.php';
require_once AKSRT_DIR . '/inc/classes/content/content-pay-traits/trait-aksrt-content-pay-orders.php';
require_once AKSRT_DIR . '/inc/classes/content/content-pay-traits/trait-aksrt-content-pay-helpers.php';
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-content-pay.php';
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-topic-pay.php';
require_once AKSRT_DIR . '/inc/classes/forum/class-aksrt-plate-follow-pay.php';
require_once AKSRT_DIR . '/inc/classes/content/vip-service-traits/trait-aksrt-vip-service-rest.php';
require_once AKSRT_DIR . '/inc/classes/content/vip-service-traits/trait-aksrt-vip-service-purchase.php';
require_once AKSRT_DIR . '/inc/classes/content/vip-service-traits/trait-aksrt-vip-service-packages.php';
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-vip-service.php';
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-download-state.php';
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-docs-presenter.php';
// CMS 首页模块(类存在;模板侧目前主要通过 helpers 渲染)
// CMS 首页模块(预览 REST + 默认模板;模板主路径仍在 helpers)
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-home-modules.php';
require_once AKSRT_DIR . '/inc/classes/content/class-aksrt-content-visibility.php';
@@ -271,6 +283,8 @@ require_once AKSRT_DIR . '/inc/classes/messages/class-aksrt-private-message.php'
require_once AKSRT_DIR . '/inc/classes/messages/class-aksrt-report-center.php';
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-coupon.php';
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-order.php';
require_once AKSRT_DIR . '/inc/classes/payment/order-repository-traits/trait-aksrt-order-repository-core.php';
require_once AKSRT_DIR . '/inc/classes/payment/order-repository-traits/trait-aksrt-order-repository-admin.php';
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-order-repository.php';
require_once AKSRT_DIR . '/inc/classes/payment/class-aksrt-payment-gateway.php';
require_once AKSRT_DIR . '/inc/classes/payment/gateways/class-aksrt-alipay-gateway.php';
@@ -345,19 +359,15 @@ require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-post-meta-box.php';
require_once AKSRT_DIR . '/inc/classes/core/class-aksrt-resource-meta-box.php';
// --- widgets ---
require_once AKSRT_DIR . '/inc/classes/widgets/class-aksrt-widgets-original.php';
require_once AKSRT_DIR . '/inc/classes/widgets/class-aksrt-widgets-new.php';
require_once AKSRT_DIR . '/inc/classes/widgets/class-aksrt-widgets-batch1.php';
// 自动加载 widgets 目录下的所有小工具文件(含 registry 之外的独立 widget)
// 包文件(多 widget 合一)+ 独立 widget 文件 + 注册中心。
// 使用单一 glob:目录内所有 class-*.php(含 original/new/batch1/registry)。
// require_once 幂等;新增 widget 只需丢进 widgets/ 即可被加载。
$aksrt_widgets_dir = AKSRT_DIR . '/inc/classes/widgets/';
if (is_dir($aksrt_widgets_dir)) {
foreach (glob($aksrt_widgets_dir . 'class-*.php') as $aksrt_widget_file) {
// Registry 文件单独 require,避免与下方显式加载重复声明;glob 会再次命中
// 但 require_once 幂等,安全。
require_once $aksrt_widget_file;
}
}
require_once AKSRT_DIR . '/inc/classes/widgets/class-aksrt-widgets.php';
// ============================================================
// 阶段3:核心功能模块(Gravatar替换 / SMTP邮件)