wpmind/includes/Admin/AdminBoot.php
LinuxJoy adb6c49301 style: phpcbf 自动格式化 — 全量 WPCS 3.x 规范对齐
135 文件 19,211 处自动修复:空格→Tab 缩进、括号间距、
函数声明空格、前置自增、尾逗号等纯格式化改动。
零逻辑变更,php -l + token 级对比验证通过。

新增 phpcs.xml.dist / phpstan.neon.dist 项目配置。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:48:46 +08:00

75 lines
1.3 KiB
PHP

<?php
/**
* Admin bootstrapping.
*
* @package WPMind\Admin
* @since 3.3.0
*/
declare(strict_types=1);
namespace WPMind\Admin;
/**
* Class AdminBoot
*/
final class AdminBoot {
/**
* Singleton instance.
*
* @var AdminBoot|null
*/
private static ?AdminBoot $instance = null;
/**
* Whether hooks are registered.
*
* @var bool
*/
private bool $initialized = false;
/**
* Get singleton instance.
*
* @return AdminBoot
*/
public static function instance(): AdminBoot {
if ( null === self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor.
*/
private function __construct() {}
/**
* Register admin hooks.
*/
public function init(): void {
if ( $this->initialized ) {
return;
}
$assets = AdminAssets::instance();
$page = AdminPage::instance();
$ajax = AjaxController::instance();
add_action( 'admin_menu', [ $page, 'add_admin_menu' ] );
add_action( 'admin_init', [ $page, 'register_settings' ] );
add_action( 'admin_enqueue_scripts', [ $assets, 'enqueue_admin_assets' ] );
$ajax->register_hooks();
add_filter(
'plugin_action_links_' . plugin_basename( WPMIND_PLUGIN_FILE ),
[ $page, 'plugin_action_links' ]
);
add_filter( 'plugin_row_meta', [ $page, 'plugin_row_meta' ], 10, 2 );
$this->initialized = true;
}
}