Skip to content

Commit c9086bf

Browse files
committed
design-decisions: the @ on trigger_error() stays
1 parent 733d993 commit c9086bf

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

docs/internal/design-decisions.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,10 @@ in signatures, docblocks, the changelog, and tests.
4343
fully served by these two, and both are terminal (plain-string return) so
4444
markup can't be re-encoded downstream. No prepend-side method:
4545
`wrapHtml($before, '')` covers it.
46+
- **The `@` on `trigger_error()` stays** (2026-08-10). `logDeprecation()` sends
47+
notices as `@trigger_error(...)`, and the `@` mutes PHP's own display *and*
48+
its logging, so only a `set_error_handler()` ever sees them. That is the
49+
intent: notices are for handlers that collect them (CMS Builder's developer
50+
log), never for page output or PHP's default error log. Don't remove the `@`
51+
to make PHP log them. The rule is stated at the call site in
52+
`SharedHelpers.php`, a twin of SmartArray's copy, so any change goes to both.

0 commit comments

Comments
 (0)