# 404-solution/4.2.0/includes/classmap.php

404 Solution, version 4.2.0. 179 lines.

- Page: https://pluginprobe.com/plugins/404-solution/4.2.0/code/includes/classmap.php
- Raw: https://pluginprobe.com/plugins/404-solution/4.2.0/raw/includes/classmap.php
- Modified: 2026-05-24T08:07:28+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/404-solution/4.2.0/code/includes/classmap.php#L10-L20`.

```php
<?php

if (!defined('ABSPATH')) {
    exit;
}

// Auto-generated classmap to avoid runtime glob() scans.
// Regenerate via scripts/generate-classmap.php (optional).

$base = dirname(__DIR__) . DIRECTORY_SEPARATOR;
return array(
    // Traits used by host classes via `use TraitName`.  Each host class
    // require_once's its trait files at the top of its source file, but under
    // ParaTest's 16-worker parallel runs Patchwork's stream wrapper can hit
    // fd saturation and silently fail to open a trait source — the autoloader
    // then needs to find the trait by name.  Without these entries the
    // autoloader returns null, the host class declaration hits "Trait not
    // found", and the test fails with no useful error.
    'ABJ_404_Solution_AjaxSecurityTrait' => $base . 'includes/ajax/AjaxSecurityTrait.php',
    'ABJ_404_Solution_AjaxFailureLoggingTrait' => $base . 'includes/ajax/AjaxFailureLoggingTrait.php',
    'ABJ_404_Solution_AjaxStageDiagnostics' => $base . 'includes/ajax/AjaxStageDiagnostics.php',
    'ABJ_404_Solution_FeedbackEnvironmentExtras' => $base . 'includes/FeedbackEnvironmentExtras.php',
    'ABJ_404_Solution_ViewBuildCollaborator' => $base . 'includes/ViewBuildCollaborator.php',
    'ABJ_404_Solution_AdminMutationGate' => $base . 'includes/AdminMutationGate.php',
    'ABJ_404_Solution_MutationWatermarkSeam' => $base . 'includes/MutationWatermarkSeam.php',
    'ABJ_404_Solution_ViewBuildAdaptive' => $base . 'includes/ViewBuildAdaptive.php',
    'ABJ_404_Solution_ViewBuildForceRestart' => $base . 'includes/ViewBuildForceRestart.php',
    'ABJ_404_Solution_ViewBuildHelpers' => $base . 'includes/ViewBuildHelpers.php',
    'ABJ_404_Solution_ViewBuildHostFailurePolicy' => $base . 'includes/ViewBuildHostFailurePolicy.php',
    'ABJ_404_Solution_ViewBuildLockAndCron' => $base . 'includes/ViewBuildLockAndCron.php',
    'ABJ_404_Solution_ViewBuildPhpEnvProbe' => $base . 'includes/ViewBuildPhpEnvProbe.php',
    'ABJ_404_Solution_ViewBuildSessionEnvProbe' => $base . 'includes/ViewBuildSessionEnvProbe.php',
    'ABJ_404_Solution_ViewBuildStageCallbacks' => $base . 'includes/ViewBuildStageCallbacks.php',
    'ABJ_404_Solution_ViewBuildStageRunner' => $base . 'includes/ViewBuildStageRunner.php',
    'ABJ_404_Solution_ViewBuildStartedWatermark' => $base . 'includes/ViewBuildStartedWatermark.php',
    'ABJ_404_Solution_ViewQueriesStaged' => $base . 'includes/ViewQueriesStaged.php',
    'ABJ_404_Solution_ViewBuildOrchestratorInterface' => $base . 'includes/ViewBuildOrchestratorInterface.php',
    'ABJ_404_Solution_ViewBuildOrchestrator' => $base . 'includes/ViewBuildOrchestrator.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_IndexesTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_Indexes.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_MaintenanceTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_Maintenance.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_NGramTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_NGram.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_PluginUpdateTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_PluginUpdate.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_TableRepairTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_TableRepair.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_OrphanAdoptionTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_OrphanAdoption.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_MultiSiteTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_MultiSite.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc_SchemaDiffTrait' => $base . 'includes/DatabaseUpgradesEtcTrait_SchemaDiff.php',
    'ABJ_404_Solution_PluginLogicAdminActions' => $base . 'includes/PluginLogicAdminActions.php',
    'ABJ_404_Solution_PluginLogicImportExport' => $base . 'includes/PluginLogicImportExport.php',
    'ABJ_404_Solution_PluginLogicLifecycle' => $base . 'includes/PluginLogicLifecycle.php',
    'ABJ_404_Solution_PluginLogicPageOrdering' => $base . 'includes/PluginLogicPageOrdering.php',
    'ABJ_404_Solution_PluginLogicSettingsUpdate' => $base . 'includes/PluginLogicSettingsUpdate.php',
    'ABJ_404_Solution_PluginLogicUrlNormalization' => $base . 'includes/PluginLogicUrlNormalization.php',
    // SpellChecker delegates to standalone classes (converted from traits).
    'ABJ_404_Solution_SpellURLMatcher' => $base . 'includes/SpellURLMatcher.php',
    'ABJ_404_Solution_SpellPostListeners' => $base . 'includes/SpellPostListeners.php',
    'ABJ_404_Solution_SpellLevenshteinEngine' => $base . 'includes/SpellLevenshteinEngine.php',
    'ABJ_404_Solution_SpellCandidateFilter' => $base . 'includes/SpellCandidateFilter.php',
    // View traits use unprefixed names (legacy from earlier refactor).
    'ViewTrait_Logs' => $base . 'includes/ViewTrait_Logs.php',
    'ViewTrait_Redirects' => $base . 'includes/ViewTrait_Redirects.php',
    'ViewTrait_RedirectsTable' => $base . 'includes/ViewTrait_RedirectsTable.php',
    'ViewTrait_RedirectTypeUI' => $base . 'includes/ViewTrait_RedirectTypeUI.php',
    'ViewTrait_RedirectConditions' => $base . 'includes/ViewTrait_RedirectConditions.php',
    'ViewTrait_Settings' => $base . 'includes/ViewTrait_Settings.php',
    'ViewTrait_Shared' => $base . 'includes/ViewTrait_Shared.php',
    'ViewTrait_Stats' => $base . 'includes/ViewTrait_Stats.php',
    'ViewTrait_UI' => $base . 'includes/ViewTrait_UI.php',
    'ABJ_404_Solution_ViewReadRuntimeState' => $base . 'includes/ViewReadRuntimeState.php',
    'ABJ_404_Solution_ViewQueryBuilder' => $base . 'includes/ViewQueryBuilder.php',
    'ABJ_404_Solution_ViewDiagnostics' => $base . 'includes/ViewDiagnostics.php',
    'ABJ_404_Solution_ViewCacheInvalidator' => $base . 'includes/ViewCacheInvalidator.php',
    'ABJ_404_Solution_ViewSnapshotCache' => $base . 'includes/ViewSnapshotCache.php',
    'ABJ_404_Solution_Ajax_CrossPluginImporter' => $base . 'includes/ajax/Ajax_CrossPluginImporter.php',
    'ABJ_404_Solution_Ajax_Php' => $base . 'includes/ajax/Ajax_Php.php',
    'ABJ_404_Solution_Ajax_TrendData' => $base . 'includes/ajax/Ajax_TrendData.php',
    'ABJ_404_Solution_CrossPluginImporter' => $base . 'includes/CrossPluginImporter.php',
    'ABJ_404_Solution_GoogleSearchConsole' => $base . 'includes/GoogleSearchConsole.php',
    'ABJ_404_Solution_InternalLinkScanner' => $base . 'includes/InternalLinkScanner.php',
    'ABJ_404_Solution_Ajax_SettingsModeToggle' => $base . 'includes/ajax/Ajax_SettingsModeToggle.php',
    'ABJ_404_Solution_Ajax_RestoreDefaults' => $base . 'includes/ajax/Ajax_RestoreDefaults.php',
    'ABJ_404_Solution_Ajax_SupportRequest' => $base . 'includes/ajax/Ajax_SupportRequest.php',
    'ABJ_404_Solution_Ajax_SupportRequestPreview' => $base . 'includes/ajax/Ajax_SupportRequestPreview.php',
    'ABJ_404_Solution_SupportRequestButton' => $base . 'includes/SupportRequestButton.php',
    'ABJ_404_Solution_Ajax_SuggestionCompute' => $base . 'includes/ajax/Ajax_SuggestionCompute.php',
    'ABJ_404_Solution_Ajax_SuggestionPolling' => $base . 'includes/ajax/Ajax_SuggestionPolling.php',
    'ABJ_404_Solution_Ajax_TrashLink' => $base . 'includes/ajax/Ajax_TrashLink.php',
    'ABJ_404_Solution_DatabaseRuntimeState' => $base . 'includes/DatabaseRuntimeState.php',
    'ABJ_404_Solution_DatabaseCoreInterface' => $base . 'includes/DatabaseCoreInterface.php',
    'ABJ_404_Solution_DatabaseCore' => $base . 'includes/DatabaseCore.php',
    'ABJ_404_Solution_DatabaseConnectionManager' => $base . 'includes/DatabaseConnectionManager.php',
    'ABJ_404_Solution_DatabaseErrorClassifier' => $base . 'includes/DatabaseErrorClassifier.php',
    'ABJ_404_Solution_DatabaseQueryTimeoutManager' => $base . 'includes/DatabaseQueryTimeoutManager.php',
    'ABJ_404_Solution_DatabaseSqlErrorReporter' => $base . 'includes/DatabaseSqlErrorReporter.php',
    'ABJ_404_Solution_ContentRepositoryInterface' => $base . 'includes/ContentRepositoryInterface.php',
    'ABJ_404_Solution_ContentRepository' => $base . 'includes/ContentRepository.php',
    'ABJ_404_Solution_RedirectsRepositoryInterface' => $base . 'includes/RedirectsRepositoryInterface.php',
    'ABJ_404_Solution_RedirectsRepository' => $base . 'includes/RedirectsRepository.php',
    'ABJ_404_Solution_StatsRepositoryInterface' => $base . 'includes/StatsRepositoryInterface.php',
    'ABJ_404_Solution_StatsRepository' => $base . 'includes/StatsRepository.php',
    'ABJ_404_Solution_DataAccess' => $base . 'includes/DataAccess.php',
    'ABJ_404_Solution_ViewBuildConfig' => $base . 'includes/ViewBuildConfig.php',
    'ABJ_404_Solution_MutationWatermark' => $base . 'includes/MutationWatermark.php',
    'ABJ_404_Solution_EmailDigest' => $base . 'includes/EmailDigest.php',
    'ABJ_404_Solution_DatabaseUpgradesEtc' => $base . 'includes/DatabaseUpgradesEtc.php',
    'ABJ_404_Solution_ErrorHandler' => $base . 'includes/ErrorHandler.php',
    'ABJ_404_Solution_FileSync' => $base . 'includes/php/FileSync.php',
    'ABJ_404_Solution_Functions' => $base . 'includes/Functions.php',
    'ABJ_404_Solution_FunctionsMBString' => $base . 'includes/php/FunctionsMBString.php',
    'ABJ_404_Solution_FunctionsPreg' => $base . 'includes/php/FunctionsPreg.php',
    'ABJ_404_Solution_FeedbackTransport' => $base . 'includes/FeedbackTransport.php',
    'ABJ_404_Solution_PayloadSchema' => $base . 'includes/PayloadSchema.php',
    'ABJ_404_Solution_SuggestionTransient' => $base . 'includes/SuggestionTransient.php',
    'ABJ_404_Solution_RedirectRow' => $base . 'includes/RedirectRow.php',
    'ABJ_404_Solution_EngineProfileSaveRequest' => $base . 'includes/EngineProfileSaveRequest.php',
    'ABJ_404_Solution_SuggestionDisplayOptions' => $base . 'includes/SuggestionDisplayOptions.php',
    'ABJ_404_Solution_PostRef' => $base . 'includes/PostRef.php',
    'ABJ_404_Solution_UserRef' => $base . 'includes/UserRef.php',
    'ABJ_404_Solution_SiteRef' => $base . 'includes/SiteRef.php',
    'ABJ_404_Solution_FrontendRequestPipeline' => $base . 'includes/FrontendRequestPipeline.php',
    'ABJ_404_Solution_ImportExportService' => $base . 'includes/ImportExportService.php',
    'ABJ_404_Solution_Logging' => $base . 'includes/Logging.php',
    'ABJ_404_Solution_EngineProfileResolver' => $base . 'includes/EngineProfileResolver.php',
    'ABJ_404_Solution_Ajax_EngineProfiles' => $base . 'includes/ajax/Ajax_EngineProfiles.php',
    'ABJ_404_Solution_MatchingEngine' => $base . 'includes/MatchingEngine.php',
    'ABJ_404_Solution_MatchRequest' => $base . 'includes/MatchRequest.php',
    'ABJ_404_Solution_MatchResult' => $base . 'includes/MatchResult.php',
    'ABJ_404_Solution_ArchiveFallbackEngine' => $base . 'includes/engine/ArchiveFallbackEngine.php',
    'ABJ_404_Solution_CategoryTagMatchingEngine' => $base . 'includes/engine/CategoryTagMatchingEngine.php',
    'ABJ_404_Solution_ContentMatchingEngine' => $base . 'includes/engine/ContentMatchingEngine.php',
    'ABJ_404_Solution_SlugMatchingEngine' => $base . 'includes/engine/SlugMatchingEngine.php',
    'ABJ_404_Solution_UrlFixEngine' => $base . 'includes/engine/UrlFixEngine.php',
    'ABJ_404_Solution_SpellingMatchingEngine' => $base . 'includes/engine/SpellingMatchingEngine.php',
    'ABJ_404_Solution_TitleMatchingEngine' => $base . 'includes/engine/TitleMatchingEngine.php',
    'ABJ_404_Solution_NGramFilter' => $base . 'includes/NGramFilter.php',
    'ABJ_404_Solution_PermalinkCache' => $base . 'includes/PermalinkCache.php',
    'ABJ_404_Solution_PiiRedactor' => $base . 'includes/PiiRedactor.php',
    'ABJ_404_Solution_PluginLogic' => $base . 'includes/PluginLogic.php',
    'ABJ_404_Solution_RedirectConditionEvaluator' => $base . 'includes/RedirectConditionEvaluator.php',
    'ABJ_404_Solution_RegexAutoPromote' => $base . 'includes/RegexAutoPromote.php',
    'ABJ_404_Solution_RequestContext' => $base . 'includes/RequestContext.php',
    'ABJ_404_Solution_RestApiController' => $base . 'includes/RestApiController.php',
    'ABJ_404_Solution_WPCLICommands' => $base . 'includes/WPCLICommands.php',
    'ABJ_404_Solution_PostEditorIntegration' => $base . 'includes/PostEditorIntegration.php',
    'ABJ_404_Solution_PublishedPostsProvider' => $base . 'includes/PublishedPostsProvider.php',
    'ABJ_404_Solution_Privacy' => $base . 'includes/Privacy.php',
    'ABJ_404_Solution_ServiceContainer' => $base . 'includes/ServiceContainer.php',
    'ABJ_404_Solution_Clock' => $base . 'includes/Clock.php',
    'ABJ_404_Solution_SystemClock' => $base . 'includes/Clock.php',
    'ABJ_404_Solution_FrozenClock' => $base . 'includes/Clock.php',
    'ABJ_404_Solution_SetupWizard' => $base . 'includes/SetupWizard.php',
    'ABJ_404_Solution_ShortCode' => $base . 'includes/ShortCode.php',
    'ABJ_404_Solution_SlugChangeHandler' => $base . 'includes/SlugChangeHandler.php',
    'ABJ_404_Solution_SpellChecker' => $base . 'includes/SpellChecker.php',
    'ABJ_404_Solution_SystemPage' => $base . 'includes/SystemPage.php',
    'ABJ_404_Solution_SynchronizationUtils' => $base . 'includes/SynchronizationUtils.php',
    'ABJ_404_Solution_Timer' => $base . 'includes/Timer.php',
    'ABJ_404_Solution_TrackingDatabaseCore' => $base . 'includes/TrackingDatabaseCore.php',
    'ABJ_404_Solution_TrackingLogsRepository' => $base . 'includes/TrackingLogsRepository.php',
    'ABJ_404_Solution_UninstallModal' => $base . 'includes/UninstallModal.php',
    'ABJ_404_Solution_Uninstaller' => $base . 'includes/Uninstaller.php',
    'ABJ_404_Solution_UserRequest' => $base . 'includes/php/objs/UserRequest.php',
    'ABJ_404_Solution_View' => $base . 'includes/View.php',
    'ABJ_404_Solution_ViewBuildPendingException' => $base . 'includes/ViewBuildPendingException.php',
    'ABJ_404_Solution_ViewBuildPendingResponseBuilder' => $base . 'includes/ajax/ViewBuildPendingResponseBuilder.php',
    'ABJ_404_Solution_ViewQueryFailureException' => $base . 'includes/ViewQueryFailureException.php',
    'ABJ_404_Solution_ViewUpdater' => $base . 'includes/ajax/ViewUpdater.php',
    'ABJ_404_Solution_View_Suggestions' => $base . 'includes/View_Suggestions.php',
    'ABJ_404_Solution_WPDBExtension_PHP5' => $base . 'includes/php/wordpress/WPDBExtension.php',
    'ABJ_404_Solution_WPDBExtension_PHP7' => $base . 'includes/php/wordpress/WPDBExtension.php',
    'ABJ_404_Solution_WPNotice' => $base . 'includes/php/objs/WPNotice.php',
    'ABJ_404_Solution_WPNotices' => $base . 'includes/php/wordpress/WPNotices.php',
    'ABJ_404_Solution_WPUtils' => $base . 'includes/php/wordpress/WPUtils.php',
    'ABJ_404_Solution_WordPress_Connector' => $base . 'includes/WordPress_Connector.php',
    'ABJ_404_Solution_AdminThemeManager' => $base . 'includes/AdminThemeManager.php',
    'ABJ_404_Solution_GscOAuthHandler' => $base . 'includes/GscOAuthHandler.php',
    'ABJ_404_Solution_ReviewFeedback' => $base . 'includes/ReviewFeedback.php',
    'ABJ_404_Solution_RebuildHealthState' => $base . 'includes/RebuildHealthState.php',
);

```
