You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[RFC]: Mark PhpDb\Sql abstract classes and interfaces @api or @internal #214
Mago reports 16 missing-api-or-internal findings in src/Sql, all baselined. Each one is an abstract class or interface without an @api or @internal annotation:
These are the types the driver packages and applications build on: decorators extend the statement classes through AbstractSql and AbstractPreparableSql, and implement PlatformDecoratorInterface (see #175). Metadata marked its source classes @api.
Considerations
The annotations are documentation only, with no runtime effect.
@api commits to keeping a type's public and protected surface stable within a minor release. @internal tells consumers not to depend on it.
Proposal(s)
Mark every interface above @api.
Mark the abstract classes @api, since drivers extend them.
Mark protected methods of AbstractSql that only the library itself calls @internal, so they can change without a major release.
Appendix/Additional Info
Finding counts are from mago analyze --ignore-baseline src/Sql once the docblock typing in #204 is applied.
Activity