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>
75 lines
1.3 KiB
PHP
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;
|
|
}
|
|
}
|