[RFC]: Mark PhpDb\Sql abstract classes and interfaces @api or @internal
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 66/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- php
- Área
- documentation
Línea de trabajo
Ejecuta mago analyze --ignore-baseline src/Sql (después de aplicar la tipificación de docblock #204) para listar los 16 hallazgos missing-api-or-internal, y añade docblocks @api a cada interfaz y clase abstracta con nombre bajo src/Sql. Para la propuesta 3, localiza AbstractSql y comprueba los sitios de llamada de sus métodos protegidos para decidir cuáles son @internal. Se da por terminado cuando la ejecución del analyze informe cero hallazgos y la entrada del baseline se haya eliminado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- PHP
- Estrellas
- 18
- Forks
- 8
- Merge medio
- 6 d 11 h
- PR fusionados (30 d)
- 14
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de php-db/phpdb
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
RFC
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
Los mantenedores suelen responder en 1 día
-
RFC
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
RFC
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Sql's foreign-table guard raises TypeError when its table is a TableIdentifier or aliased arrayPosiblemente ocupada @simon-mundy la tomó hace 1 día. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 50/100
Los mantenedores suelen responder en 1 día
Todos los issues de php-db/phpdb
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
VilnaCRM-Org/user-service#525 ·
Los mantenedores suelen responder en 21 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
shukiv/jabali-panel#2029 ·
Los mantenedores suelen responder en 1 día
-
area:pool-types good first issue priority:low type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
crazy-goat/php-fpm-ng#822 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
vigetlabs/mega-menu-block#30 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100