Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Idea: disallow protected members in final classes

Abierto
#57 0 comentarios 6 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
php
Área
tooling

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de phpstan/phpstan-strict-rules

Todos los issues de phpstan/phpstan-strict-rules

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.