El resumen semanal de PHP internals del 2 de septiembre de 2026 cubrió 11 temas. El principal: Luca Rodenhäuser examinó la regla del escáner que define un identificador PHP en bytes, no en caracteres. Todo byte igual o superior a 0x80 se acepta, así que $x seguido de un espacio duro es una variable distinta de aspecto idéntico. Propuso un declare por archivo para restringirlo y escaneó los 250 paquetes más instalados de Packagist; exactamente un identificador se rompería.

Larry Garfield sugirió saltarse el opt-in y aplicar la regla en PHP 9, argumentando que el 99,99 % de los desarrolladores no lo notaría. Rodenhäuser repitió el análisis sobre los 5.000 paquetes principales. Medio millón de archivos arrojaron 1.447 identificadores no ASCII, el 91 % en math-php, donde los nombres de variables deletrean las fórmulas. Derick Rethans preguntó si 13,7 KB de tablas en cada proceso PHP valen la pena, Juliette Reinders Folmer preguntó por las variables variables y Rowan Tommins por rechazo frente a normalización. Rodenhäuser dividió su propuesta en tres: un diagnóstico, una regla de buena formación y una regla de conformidad.

Nick Sdot abrió una RFC para terminar el respaldo de PHP a PEAR. Tras tres meses revisando discusiones anteriores, construyó un espejo estático para que la herramienta de línea de comandos siga funcionando. Su argumento: PEAR está parcialmente roto, lleno de spam, apenas activo y sin mantenimiento. Rowan Tommins lo apoyó. Sdot contó 6 paquetes que aún publican en PEAR, 3 de ellos infraestructura propia de PEAR y 2 marcados recientemente como sin mantenimiento. Queda exactamente un paquete independiente mantenido: Net_SMTP.

Sjoerd Langkemper anunció una votación para que octdec, hexdec, bindec y base_convert lancen un ValueError ante entrada inválida. Tim Düsterhus objetó que pasar entrada no confiable a estas funciones es un caso de uso esperado, por lo que la jerarquía Error es incorrecta; los desarrolladores querrán capturar lo que vuelva. Citó la política de estándares de codificación: la jerarquía Error no debe usarse para errores que se espera lanzar y capturar en operación normal. La conversión de base es parsing.

La función de filtrado de arrays de Sepehr Mahmoudi volvió renombrada array_str_contains y orientada a PHP 8.7. Seifeddine Gmati la calificó de redundante; el mismo argumento justificaría array_str_starts_with y cientos más. Bruce Weirdan preguntó si no debería corregirse el coste de las closures, lo que aceleraría todo builtin que acepta un callable. Mahmoudi admitió que un filtro debe leer todo el array en lugar de detenerse en la primera coincidencia, y prometió análisis estático sobre Packagist.

El debate sobre correos escritos por máquinas se volvió concreto cuando Juris redactó un borrador de directrices: los recién llegados deberían redactar sus propios mensajes sin ayuda de IA; no se exige inglés perfecto. Escribió tres párrafos en letón, los tradujo automáticamente y envió ambas versiones. Sepehr Mahmoudi reconoció que una IA escribía sus respuestas. Weilin Du pidió dejar de nombrar personas; Yuya Hamada se disculpó. No existe política escrita.

Théo Attali propuso una constante de formato de fecha con milisegundos y una Z final, como el toISOString de JavaScript, ya que DATE_RFC3339_EXTENDED usa un desplazamiento numérico. Andreas Heigl, autor de las constantes extended, se negó a añadir más y remitió a un formateador userland que funciona desde PHP 5.3. Tim Düsterhus redirigió la idea hacia la nueva API de fecha y hora: PHP 8.6 entrega la primera pieza, y el propuesto Time\Instant sin zona horaria sería el lugar natural para un método de formato Zulu.

Riaan de Beer ofreció libxml-rs, una reimplementación nativa en Rust de libxml2, compatible a nivel de ABI C. xmllint y xmlcatalog saldrían idénticos byte a byte frente a libxml2 2.15.3 en 1.110 pruebas. Pedía únicamente una compilación de prueba experimental. La lista discutió en cambio su afirmación de que libxml2 lleva sin mantenimiento desde diciembre de 2025; Pierre señaló muchos commits desde entonces, y otros citaron nuevos mantenedores, uno de los cuales ayuda directamente a php-src.

Sobre si las RFC deberían incluir un polyfill userland, Nicolas Grekas dijo que toda función polyfillable acaba de todos modos en el monorepo symfony/polyfill, y que la versión publicada suele diferir de la RFC; los polyfills necesitan un flujo de trabajo separado. Tim Düsterhus rechazó el argumento de benchmarking de Larry Garfield: el rendimiento es un objetivo móvil, las adiciones a la stdlib deben mantenerse más de 15 años, y la utilidad más el diseño de API deben decidir. PIE hace las extensiones privadas más fáciles que nunca.

Tres lanzamientos en tres días: Calvin Buckley publicó PHP 8.4.25, una versión de seguridad; Daniel Scherzer publicó 8.5.10, una corrección de errores; Matteo Beccati puso 8.6.0beta2 a prueba. Nick Sdot respondió a la RFC nameof pidiendo verla en 8.7, contestando a un mensaje de mayo de 2023. Ninguna RFC lleva tres semanas en fase de votación.