Skip to content

MDLSITE-8442: Use PSR-12 rules for braces - #1657

Open
dpalou wants to merge 3 commits into
moodle:mainfrom
dpalou:MDLSITE-8442
Open

MDLSITE-8442: Use PSR-12 rules for braces#1657
dpalou wants to merge 3 commits into
moodle:mainfrom
dpalou:MDLSITE-8442

Conversation

@dpalou

@dpalou dpalou commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

This PR removes our custom rules that override PSR-12 rules. Now braces coding style should align with PSR-12 rules.

dpalou added 2 commits July 27, 2026 12:54
This change removes the bracing coding style rule to align with the PSR-12 coding style.
@dpalou
dpalou requested a review from a team as a code owner July 27, 2026 12:54
Copilot AI review requested due to automatic review settings July 27, 2026 12:54
@netlify

netlify Bot commented Jul 27, 2026

Copy link
Copy Markdown

Deploy Preview for moodledevdocs ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 318b7c0
🔍 Latest deploy log https://app.netlify.com/projects/moodledevdocs/deploys/6a6763079992ab0008d0ac71
😎 Deploy Preview https://deploy-preview-1657--moodledevdocs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@dpalou dpalou changed the title MDLSITE-8442: Use PSR-1.2 rules for braces MDLSITE-8442: Use PSR-12 rules for braces Jul 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the DevDocs PHP code examples (and related coding-style documentation) to align brace placement with PSR-12-style declarations (moving opening braces for class/function/method declarations onto the next line), while keeping control-structure braces on the same line.

Changes:

  • Reformat PHP declaration examples across guides and API docs to use “brace on next line” for classes/functions/methods.
  • Adjust wording in the coding style policy docs to clarify brace placement expectations (notably distinguishing control structures from declarations).
  • Apply the same brace formatting to examples in general development tooling docs and Moodle App plugin development guides.

Reviewed changes

Copilot reviewed 78 out of 78 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
general/development/tools/xmldb.md Update upgrade-function example brace placement.
general/development/tools/phpunit/upgrading-11.md Update PHPUnit example method brace placement.
general/development/tools/phpunit/index.md Update example test class brace placement.
general/development/tools/behat/writing.md Update Behat-related example classes/methods brace placement.
general/development/policies/deprecation/index.md Update deprecation attribute examples brace placement.
general/development/policies/deprecation/icon-deprecation.md Update icon deprecation examples brace placement.
general/development/policies/codingstyle/index.md Align brace guidance/examples with PSR-style declarations and control structures.
general/app/development/plugins-development-guide/index.md Update Moodle App plugin guide PHP examples brace placement.
general/app/development/plugins-development-guide/examples/question-types.md Update question-type example class/method brace placement.
general/app/development/plugins-development-guide/examples/forms.md Update forms examples brace placement (including external_api examples).
general/app/development/plugins-development-guide/examples/course-modules.md Update course-module examples brace placement.
general/app/development/plugins-development-guide/examples/course-formats.md Update course-format examples brace placement.
docs/guides/upgrade/index.md Update upgrade/install callback examples brace placement.
docs/guides/testing/index.md Update PHPUnit test examples brace placement.
docs/guides/templates/index.md Update templating/rendering method examples brace placement.
docs/apis/subsystems/task/scheduled.md Update scheduled task example class/method brace placement.
docs/apis/subsystems/task/index.md Update task example class/method brace placement.
docs/apis/subsystems/task/adhoc.md Update adhoc task examples brace placement.
docs/apis/subsystems/tag/index.md Update tagging callbacks/examples brace placement.
docs/apis/subsystems/routing/testing.md Update routing test examples brace placement.
docs/apis/subsystems/routing/shortlinks.md Update shortlink handler example brace placement.
docs/apis/subsystems/routing/responses.md Update routing response example class brace placement.
docs/apis/subsystems/routing/parameters.md Update routing parameter examples brace placement.
docs/apis/subsystems/routing/index.md Update routing index example class brace placement.
docs/apis/subsystems/privacy/utils.md Update privacy utility function example brace placement.
docs/apis/subsystems/privacy/index.md Update privacy provider examples brace placement.
docs/apis/subsystems/output/inplace.md Update inplace editable examples brace placement.
docs/apis/subsystems/output/index.md Update Output API examples brace placement across multiple snippets.
docs/apis/subsystems/form/usage/index.md Update form usage examples brace placement.
docs/apis/subsystems/form/index.md Update form API examples brace placement.
docs/apis/subsystems/form/advanced/checkbox-controller.md Update checkbox controller example brace placement.
docs/apis/subsystems/files/browsing.md Update file browsing API example brace placement.
docs/apis/subsystems/external/writing-a-service.md Update external service examples brace placement.
docs/apis/subsystems/external/testing.md Update external service testing examples brace placement.
docs/apis/subsystems/external/security.md Update external service security examples brace placement.
docs/apis/subsystems/external/functions.md Update external functions examples brace placement.
docs/apis/subsystems/external/files.md Update external files return-structure example brace placement.
docs/apis/subsystems/communication/index.md Update communication subsystem form example brace placement.
docs/apis/subsystems/check/index.md Update check subsystem examples brace placement.
docs/apis/subsystems/backup/restore.md Update restore plugin example brace placement.
docs/apis/subsystems/backup/index.md Update backup plugin example brace placement.
docs/apis/subsystems/analytics/index.md Update analytics callback examples brace placement.
docs/apis/subsystems/ai/index.md Update AI subsystem examples brace placement.
docs/apis/subsystems/access.md Update access API example brace placement.
docs/apis/plugintypes/tiny/index.md Update Tiny plugininfo example brace placement.
docs/apis/plugintypes/theme/index.md Update theme SCSS callback example brace placement.
docs/apis/plugintypes/sms/index.md Update SMS gateway examples brace placement.
docs/apis/plugintypes/repository/index.md Update repository API examples brace placement.
docs/apis/plugintypes/qtype/restore.md Update qtype restore examples brace placement.
docs/apis/plugintypes/qtype/newquestiondefaults.md Update qtype defaults example brace placement.
docs/apis/plugintypes/qbank/filters.md Update qbank filter examples brace placement.
docs/apis/plugintypes/mod/visibility.md Update module visibility callback examples brace placement.
docs/apis/plugintypes/mod/courseoverview.md Update course overview examples brace placement.
docs/apis/plugintypes/mod/_files/lib_description.md Update module lib.php callback examples brace placement.
docs/apis/plugintypes/format/linear_navigation.md Update course format example brace placement.
docs/apis/plugintypes/format/index.md Update course format output-class examples brace placement.
docs/apis/plugintypes/filter/index.md Update filter plugin examples brace placement.
docs/apis/plugintypes/fileconverter/index.md Update file converter examples brace placement.
docs/apis/plugintypes/enrol/index.md Update enrol plugin examples brace placement.
docs/apis/plugintypes/blocks/index.md Update blocks plugin examples brace placement.
docs/apis/plugintypes/availability/index.md Update availability plugin examples brace placement.
docs/apis/plugintypes/assign/submission.md Update assign submission plugin examples brace placement.
docs/apis/plugintypes/assign/feedback.md Update assign feedback plugin examples brace placement.
docs/apis/plugintypes/ai/provider.md Update AI provider examples brace placement.
docs/apis/plugintypes/ai/placement.md Update AI placement examples brace placement.
docs/apis/core/reportbuilder/index.md Update reportbuilder examples brace placement.
docs/apis/core/navigation/index.md Update navigation callback example brace placement.
docs/apis/core/hooks/index.md Update hooks examples brace placement.
docs/apis/core/grading/index.md Update grading callback example brace placement.
docs/apis/core/dml/index.md Update DML example function brace placement.
docs/apis/core/dml/ddl.md Update DDL example brace placement.
docs/apis/core/di/index.md Update DI examples brace placement.
docs/apis/core/deprecation/index.md Update deprecation examples brace placement.
docs/apis/core/customfields/index.md Update customfields example brace placement.
docs/apis/core/comment/index.md Update comment API callback example brace placement.
docs/apis/core/clock/index.md Update clock API examples brace placement.
docs/apis/core/calendar/index.md Update calendar callback examples brace placement.
docs/apis/core/activitycompletion/index.md Update activity completion examples brace placement.
Comments suppressed due to low confidence (2)

docs/apis/plugintypes/format/index.md:556

  • This example return statement is missing the closing quote and semicolon, so the PHP sample is invalid.
    public function get_template_name(\renderer_base $renderer): string
    {
        return 'format_pluginname/local/content/cm/activity;

docs/apis/plugintypes/format/index.md:569

  • This example return statement is missing the closing quote and semicolon, so the PHP sample is invalid.
    public function get_template_name(\renderer_base $renderer): string
    {
        return 'format_pluginname/local/content/cm/badge;

Comment thread docs/apis/core/dml/ddl.md
Comment thread docs/apis/plugintypes/assign/submission.md
Comment thread docs/apis/plugintypes/qbank/filters.md
Comment thread docs/apis/plugintypes/format/index.md
Comment thread docs/apis/plugintypes/format/index.md
Comment thread docs/guides/testing/index.md
…nge to all versions

Backports the fix from PR moodle#1657 to 4.5, 5.0, 5.1, and 5.2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants