Idea: disallow protected members in final classes
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Review the originating Slevomat issue and the PHPStan strict-rules project to locate the existing rule entry point and related tests. Implement the check for new protected members in final classes while allowing inherited protected methods that are overridden, then verify the reported examples and corresponding rule tests.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Originally reported as https://github.com/slevomat/coding-standard/issues/563 but impossible to implement there.
The idea is to ensure that final classes don't contain any new protected members. Such members can be made private because there are no descendants that can use them. Special care has to be taken to avoid changing protected methods from parent classes to private, such as in this example:
abstract class MyAbstractClass
{
protected function protectedFunction()
{
echo 'foo';
}
}
final class MyClass extends MyAbstractClass
{
protected function protectedFunction()
{
echo 'bar';
}
}
In this case, protectedFunction may not cause an error because its visibility can't be changed to private.
- Lenguaje dominante
- PHP
- Estrellas
- 711
- Forks
- 62
- Merge medio
- 3 d 14 h
- PR fusionados (30 d)
- 5
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 phpstan/phpstan-strict-rules
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
phpstan/phpstan-strict-rules#317 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
phpstan/phpstan-strict-rules#316 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
phpstan/phpstan-strict-rules#298 · 2 comentarios · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
phpstan/phpstan-strict-rules#289 · 1 comentario ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
phpstan/phpstan-strict-rules#283 · 6 comentarios ·
Todos los issues de phpstan/phpstan-strict-rules
Issues similares
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 4 días
-
Перевод устарел
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
bug
Dificultad 2/5 Medio día Aptitud para principiantes 76/100
m3ue/m3u-editor#1604 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
femiwiki/docker-mediawiki#1497 ·
Los mantenedores suelen responder en 1 día