Dateien nach „bavarian-rank-engine/includes“ hochladen
This commit is contained in:
parent
8891b3743f
commit
d249a1f1ee
1 changed files with 73 additions and 0 deletions
73
bavarian-rank-engine/includes/Core.php
Normal file
73
bavarian-rank-engine/includes/Core.php
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
namespace BavarianRankEngine;
|
||||
|
||||
class Core {
|
||||
private static ?Core $instance = null;
|
||||
|
||||
public static function instance(): self {
|
||||
if ( null === self::$instance ) {
|
||||
self::$instance = new self();
|
||||
}
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
public function init(): void {
|
||||
$this->load_dependencies();
|
||||
$this->register_hooks();
|
||||
}
|
||||
|
||||
private function load_dependencies(): void {
|
||||
require_once BRE_DIR . 'includes/Providers/ProviderInterface.php';
|
||||
require_once BRE_DIR . 'includes/Providers/ProviderRegistry.php';
|
||||
require_once BRE_DIR . 'includes/Providers/OpenAIProvider.php';
|
||||
require_once BRE_DIR . 'includes/Providers/AnthropicProvider.php';
|
||||
require_once BRE_DIR . 'includes/Providers/GeminiProvider.php';
|
||||
require_once BRE_DIR . 'includes/Providers/GrokProvider.php';
|
||||
require_once BRE_DIR . 'includes/Helpers/KeyVault.php';
|
||||
require_once BRE_DIR . 'includes/Helpers/TokenEstimator.php';
|
||||
require_once BRE_DIR . 'includes/Helpers/FallbackMeta.php';
|
||||
require_once BRE_DIR . 'includes/Helpers/BulkQueue.php';
|
||||
require_once BRE_DIR . 'includes/Features/MetaGenerator.php';
|
||||
require_once BRE_DIR . 'includes/Features/SchemaEnhancer.php';
|
||||
require_once BRE_DIR . 'includes/Features/LlmsTxt.php';
|
||||
require_once BRE_DIR . 'includes/Features/RobotsTxt.php';
|
||||
require_once BRE_DIR . 'includes/Features/CrawlerLog.php';
|
||||
require_once BRE_DIR . 'includes/Admin/SettingsPage.php';
|
||||
require_once BRE_DIR . 'includes/Admin/AdminMenu.php';
|
||||
require_once BRE_DIR . 'includes/Admin/ProviderPage.php';
|
||||
require_once BRE_DIR . 'includes/Admin/MetaPage.php';
|
||||
require_once BRE_DIR . 'includes/Admin/BulkPage.php';
|
||||
require_once BRE_DIR . 'includes/Admin/LlmsPage.php';
|
||||
require_once BRE_DIR . 'includes/Admin/MetaEditorBox.php';
|
||||
require_once BRE_DIR . 'includes/Admin/SeoWidget.php';
|
||||
require_once BRE_DIR . 'includes/Admin/LinkAnalysis.php';
|
||||
require_once BRE_DIR . 'includes/Admin/RobotsPage.php';
|
||||
}
|
||||
|
||||
private function register_hooks(): void {
|
||||
$registry = ProviderRegistry::instance();
|
||||
$registry->register( new Providers\OpenAIProvider() );
|
||||
$registry->register( new Providers\AnthropicProvider() );
|
||||
$registry->register( new Providers\GeminiProvider() );
|
||||
$registry->register( new Providers\GrokProvider() );
|
||||
|
||||
( new Features\MetaGenerator() )->register();
|
||||
( new Features\SchemaEnhancer() )->register();
|
||||
( new Features\LlmsTxt() )->register();
|
||||
( new Features\RobotsTxt() )->register();
|
||||
( new Features\CrawlerLog() )->register();
|
||||
|
||||
if ( is_admin() ) {
|
||||
$menu = new Admin\AdminMenu();
|
||||
$menu->register();
|
||||
( new Admin\ProviderPage() )->register();
|
||||
( new Admin\MetaPage() )->register();
|
||||
( new Admin\BulkPage() )->register();
|
||||
( new Admin\LlmsPage() )->register();
|
||||
( new Admin\MetaEditorBox() )->register();
|
||||
( new Admin\SeoWidget() )->register();
|
||||
( new Admin\LinkAnalysis() )->register();
|
||||
( new Admin\RobotsPage() )->register();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue