[RFC]: Mark PhpDb\Sql abstract classes and interfaces @api or @internal
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 66/100
- Type d'issue
- Documentation
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- php
- Domaine
- documentation
Piste de recherche
Exécutez mago analyze --ignore-baseline src/Sql (après application de la typage de docblock #204) pour lister les 16 constatations missing-api-or-internal, puis ajoutez des docblocks @api à chaque interface et classe abstraite nommée sous src/Sql. Pour la proposition 3, localisez AbstractSql et vérifiez les sites d'appel de ses méthodes protégées pour décider lesquelles sont @internal. Terminé lorsque l'exécution de l'analyze rapporte zéro constatation et que l'entrée du baseline est supprimée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- PHP
- Étoiles
- 18
- Forks
- 8
- Merge moyen
- 6 j 11 h
- PR mergées (30 j)
- 14
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de php-db/phpdb
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
RFC
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
Les mainteneurs répondent en général sous 1 jour
-
RFC
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
RFC
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Les mainteneurs répondent en général sous 1 jour
-
Sql's foreign-table guard raises TypeError when its table is a TableIdentifier or aliased arrayPeut-être pris @simon-mundy l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 50/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de php-db/phpdb
Issues similaires
-
customer-support needs-triage Platform(Default)
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
grokability/snipe-it#19767 ·
Les mainteneurs répondent en général sous 1 jour
-
[Code Quality] SfxDownloader extract path has no destination-writability pre-check for cached zipsOuvertepriority:low type:refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
crazy-goat/workerman-bundle#1052 ·
Les mainteneurs répondent en général sous 1 jour
-
sync-en
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
sync-en
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 3 jours