Skip to content

GH#2753: enforce one PHP object per file - #2754

Merged
superdav42 merged 3 commits into
mainfrom
feature/auto-20260922-135712-gh2753
Sep 22, 2026
Merged

superdav42 merged 3 commits into
mainfrom
feature/auto-20260922-135712-gh2753

Conversation

@superdav42

@superdav42 superdav42 commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Removed the global one-object PHPCS exclusion.
  • Split the currently reported production classes and trait into PSR-4 files.
  • Updated advanced companion class loading for each moved ability.

Resolves #2753

Summary by CodeRabbit

  • New Features

    • Added tools for managing plugins, including installation, updates, activation, deactivation, switching, deletion, and directory searches.
    • Added file browsing, reading, searching, editing, writing, and deletion capabilities within permitted site content.
    • Added option management tools and protected database querying with sensitive-value safeguards.
    • Added Google Analytics reporting for traffic summaries, top pages, and realtime activity.
    • Added plugin recommendations and modified-plugin download information.
  • Refactor

    • Reorganized capabilities into dedicated tools while preserving their registered actions.

@superdav42 superdav42 added the origin:worker Auto-created by pulse labelless backfill (t2112) label Sep 22, 2026
@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 234a20ac-bd73-49bc-b288-d55b1e064ba4

📥 Commits

Reviewing files that changed from the base of the PR and between 6aea94a and 5894495.

📒 Files selected for processing (44)
  • advanced-plugin/includes/Abilities/ActivatePluginAbility.php
  • advanced-plugin/includes/Abilities/DatabaseAbilities.php
  • advanced-plugin/includes/Abilities/DatabaseQueryAbility.php
  • advanced-plugin/includes/Abilities/DeactivatePluginAbility.php
  • advanced-plugin/includes/Abilities/DeletePluginAbility.php
  • advanced-plugin/includes/Abilities/FileDeleteAbility.php
  • advanced-plugin/includes/Abilities/FileEditAbility.php
  • advanced-plugin/includes/Abilities/FileMutationAbilities.php
  • advanced-plugin/includes/Abilities/FileWriteAbility.php
  • advanced-plugin/includes/Abilities/GetPluginDownloadUrlAbility.php
  • advanced-plugin/includes/Abilities/InstallPluginFromUrlAbility.php
  • advanced-plugin/includes/Abilities/ListModifiedPluginsAbility.php
  • advanced-plugin/includes/Abilities/PluginDownloadAbilities.php
  • advanced-plugin/includes/Abilities/SwitchPluginAbility.php
  • advanced-plugin/includes/Abilities/UpdatePluginAbility.php
  • advanced-plugin/includes/Abilities/WordPressAdvancedAbilities.php
  • advanced-plugin/includes/Autoloader.php
  • includes/Abilities/AbstractFileAbility.php
  • includes/Abilities/ContentSearchAbility.php
  • includes/Abilities/DeleteOptionAbility.php
  • includes/Abilities/FileAbilities.php
  • includes/Abilities/FileListAbility.php
  • includes/Abilities/FileOutlineAbility.php
  • includes/Abilities/FileReadAbility.php
  • includes/Abilities/FileSearchAbility.php
  • includes/Abilities/GaApiClient.php
  • includes/Abilities/GaRealtimeAbility.php
  • includes/Abilities/GaTopPagesAbility.php
  • includes/Abilities/GaTrafficSummaryAbility.php
  • includes/Abilities/GetOptionAbility.php
  • includes/Abilities/GetPluginsAbility.php
  • includes/Abilities/GetThemesAbility.php
  • includes/Abilities/GoogleAnalyticsAbilities.php
  • includes/Abilities/InstallPluginAbility.php
  • includes/Abilities/ListOptionsAbility.php
  • includes/Abilities/ListPluginUpdatesAbility.php
  • includes/Abilities/OptionsAbilities.php
  • includes/Abilities/RecommendPluginAbility.php
  • includes/Abilities/SearchPluginDirectoryAbility.php
  • includes/Abilities/UpdateOptionAbility.php
  • includes/Abilities/WordPressAbilities.php
  • includes/Core/PluginRecommendation.php
  • includes/Core/PluginRecommendations.php
  • phpcs.xml
 _______________________________________
< Feature flags up; bug sightings down. >
 ---------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@superdav42

Copy link
Copy Markdown
Contributor Author

Completion Summary

  • What: Enforced one named PHP object structure per maintained source file.
  • Issue: Enforce one object structure per PHP file #2753
  • Files changed: phpcs.xml, affected ability classes, PluginRecommendation.php, and the advanced companion autoloader.
  • Testing: Focused PHPCS; composer lint; full PHPUnit (Tests: 4462, Assertions: 20867, Skipped: 139, Incomplete: 4); JS/CSS lint; build; bundle budgets.
  • Key decisions: Split each reported class and trait to its PSR-4 path; retained no one-object suppressions.

@superdav42
superdav42 marked this pull request as ready for review September 22, 2026 20:29
@superdav42
superdav42 merged commit 1dea0d4 into main Sep 22, 2026
18 of 19 checks passed
@superdav42 superdav42 added the review-feedback-scanned Merged PR already scanned for quality feedback label Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

origin:worker Auto-created by pulse labelless backfill (t2112) review-feedback-scanned Merged PR already scanned for quality feedback

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enforce one object structure per PHP file

1 participant