[RFC]: Mark PhpDb\Sql abstract classes and interfaces @api or @internal
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 66/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- php
- Bereich
- documentation
Rechercherichtung
Führe mago analyze --ignore-baseline src/Sql aus (nach Anwendung der #204-Docblock-Typisierung), um die 16 missing-api-or-internal-Befunde aufzulisten, und füge jedem benannten Interface und jeder abstrakten Klasse unter src/Sql @api-Docblocks hinzu. Für Vorschlag 3, lokalisiere AbstractSql und prüfe die Aufrufstellen seiner geschützten Methoden, um zu entscheiden, welche @internal sind. Fertig, wenn der Analyse-Lauf null Befunde meldet und der Baseline-Eintrag entfernt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Proposed Version
Next minor
Basic Information
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:
- Abstract classes:
AbstractSql,AbstractPreparableSql,AbstractExpression,Ddl\Column\{AbstractLengthColumn, AbstractPrecisionColumn, AbstractTimestampColumn},Ddl\Constraint\AbstractConstraint,Ddl\Index\AbstractIndex - Interfaces:
SqlInterface,PreparableSqlInterface,ExpressionInterface,ArgumentInterface,PredicateInterface,Platform\PlatformDecoratorInterface,Ddl\Column\ColumnInterface,Ddl\Constraint\ConstraintInterface
Background
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.
@apicommits to keeping a type's public and protected surface stable within a minor release.@internaltells 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
AbstractSqlthat 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.
- Vorherrschende Sprache
- PHP
- Sterne
- 18
- Forks
- 8
- Ø Merge
- 6 T. 11 Std.
- Gemergte PRs (30 T.)
- 14
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus php-db/phpdb
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
RFC
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 38/100
Maintainer antworten meist innerhalb von 1 Tag
-
RFC
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
RFC
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
Maintainer antworten meist innerhalb von 1 Tag
-
Sql's foreign-table guard raises TypeError when its table is a TableIdentifier or aliased arrayEvtl. vergeben @simon-mundy hat das vor 2 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 50/100
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
product / databases
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
VilnaCRM-Org/user-service#525 ·
Maintainer antworten meist innerhalb von 21 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
shukiv/jabali-panel#2029 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:pool-types good first issue priority:low type:bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
crazy-goat/php-fpm-ng#822 ·
Maintainer antworten meist innerhalb von 1 Tag
-
agentic bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
MagnaCapax/PMSS#1023 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 5 Tagen