ReflectionClass can't detect readonly properties for mysqli
Abierto
Nadie ha tomado este issue todavía.
Extension: mysqli
Feature
Status: Needs Triage
- Lenguaje dominante
- C
- Estrellas
- 40.4k
- Forks
- 8.2k
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 96
Descripción
Description
The following code:
<?php
$reflection = new ReflectionClass(mysqli::class);
$props = [];
foreach ($reflection->getProperties() as $property) {
$props[] = $property->getName() . ' | readonly: ' . (int) $property->isReadOnly();
}
print_r($props);
Resulted in this output:
Array
(
[0] => affected_rows | readonly: 0
[1] => client_info | readonly: 0
[2] => client_version | readonly: 0
[3] => connect_errno | readonly: 0
[4] => connect_error | readonly: 0
[5] => errno | readonly: 0
[6] => error | readonly: 0
[7] => error_list | readonly: 0
[8] => field_count | readonly: 0
[9] => host_info | readonly: 0
[10] => info | readonly: 0
[11] => insert_id | readonly: 0
[12] => server_info | readonly: 0
[13] => server_version | readonly: 0
[14] => sqlstate | readonly: 0
[15] => protocol_version | readonly: 0
[16] => thread_id | readonly: 0
[17] => warning_count | readonly: 0
)
But I expected this output instead:
Array
(
[0] => affected_rows | readonly: 1
[1] => client_info | readonly: 1
[2] => client_version | readonly: 1
[3] => connect_errno | readonly: 1
[4] => connect_error | readonly: 1
[5] => errno | readonly: 1
[6] => error | readonly: 1
[7] => error_list | readonly: 1
[8] => field_count | readonly: 1
[9] => host_info | readonly: 1
[10] => info | readonly: 1
[11] => insert_id | readonly: 1
[12] => server_info | readonly: 1
[13] => server_version | readonly: 1
[14] => sqlstate | readonly: 1
[15] => protocol_version | readonly: 1
[16] => thread_id | readonly: 1
[17] => warning_count | readonly: 1
)
PHP Version
PHP 8.3.8
Operating System
No response
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.
Línea de trabajo
Empieza reproduciendo el ejemplo de ReflectionClass y mysqli::class del informe en PHP 8.3.8 y, a continuación, rastrea cómo se exponen las propiedades de mysqli a la reflexión. Se considera terminado cuando las propiedades enumeradas informen readonly: 1, con cobertura de regresión para este comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c, php
- Área
- backend, databases
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100