Otros cambios
En esta página
- Otros cambios#
- Cambios en los módulos SAPI#
- Apache2Handler#
- Funciones cambiadas#
- Reflection#
- Estándar#
- Zip#
- Otros cambios a las extensiones#
- CURL#
- Fecha y Tiempo#
- DOM#
- Intl#
- Enchant#
- GD#
- JSON#
- MBString#
- PDO#
- LibXML#
- MySQLi / PDO MySQL#
- PGSQL / PDO PGSQL#
- Readline#
- SimpleXML#
- Cambios en la gestión del archivo INI#
- EBCDIC#
- Rendimiento#
Otros cambios#
Cambios en los módulos SAPI#
Apache2Handler#
El módulo PHP ha sido renombrado de php7_module a php_module.
Funciones cambiadas#
Reflection#
Los resultados de ReflectionClass::getConstants y ReflectionClass::getReflectionConstants pueden ser filtrados a través de un nuevo parámetro filter. Tres nuevas constantes han sido añadidas para ser usadas junto a la clase:
ReflectionClassConstant::IS_PUBLIC, ReflectionClassConstant::IS_PROTECTED, ReflectionClassConstant::IS_PRIVATE
Estándar#
Las funciones matemáticas abs, ceil, floor y round ahora respetan correctamente la directiva strict_types. Anteriormente, coercionaban el primer argumento incluso en modo de tipo estricto.
Zip#
- Los métodos ZipArchive::addGlob y ZipArchive::addPattern aceptan más valores en el
optionsargumento de array:
flags, comp_method, comp_flags, env_method, enc_password
-
ZipArchive::addEmptyDir, ZipArchive::addFile and ZipArchive::addFromString methods have a new
flagsargument. This allows managing name encoding (ZipArchive::FL_ENC_*) and entry replacement (ZipArchive::FL_OVERWRITE). -
ZipArchive::extractTo ahora restaura el tiempo de modificación del archivo.
Otros cambios a las extensiones#
CURL#
-
La extensión CURL ahora requiere al menos libcurl 7.29.0.
-
El parámetro obsoleto
versiondecurl_versionha sido eliminado.
Fecha y Tiempo#
DatePeriod ahora implementa IteratorAggregate (instead of Traversable).
DOM#
DOMNamedNodeMap y DOMNodeList ahora implementan IteratorAggregate (instead of Traversable).
Intl#
IntlBreakIterator y ResourceBundle ahora implementan IteratorAggregate (instead of Traversable).
Enchant#
La extensión enchant ahora usa libenchant-2 por defecto cuando esté disponible. libenchant versión 1 sigue siendo soportado pero está obsoleto y podría ser borrado en el futuro.
GD#
-
El
num_pointspárametro deimagepolygon,imageopenpolygonyimagefilledpolygones ahora opcional, p.e. esas funciones pueden ser llamadas con 3 o 4 argumentos. Si el argumento está omitido, está calculado comocount($points)/2. -
La función
imagegetinterpolationpara obtener la interpolación actual ha sido añadida.
JSON#
La extensión JSON no puede ser deshabilitada y siempre será una parte integral de cualquier build PHP. De manera similar a la extensión de fecha.
MBString#
La tabla unicode ha sido actualizada a la versión 13.0.0.
PDO#
PDOStatement ahora implementa IteratorAggregate (instead of Traversable).
LibXML#
La versión mínima requerida es 2.9.0. Esto significa que la carga externa está garantizada de ser deshabilitada por defecto y no habrá pasos extras para protegerse frente a los ataques XXE
MySQLi / PDO MySQL#
-
Cuando mysqlnd no sea usado (que es la opción recomendada y por defecto), la versión libmysqlclient mínima soportada es ahora 5.5.
-
mysqli_resultahora implementa IteratorAggregate (instead of Traversable).
PGSQL / PDO PGSQL#
Las extensiones PGQSQL y PDO PGSQL ahora requieren al menos libpq 9.1.
Readline#
Llamar a readline_completion_function antes de que un prompt interactivo comience (e.g. in auto_prepend_file) ahora sobreescribirá default interactive prompt completion function. Previamente readline_completion_function solo trabajaba cuando se le llamaba antes de comenzar el prompt interactivo.
SimpleXML#
SimpleXMLElement ahora implementa RecursiveIterator y absorve la funcionalidad de SimpleXMLIterator. SimpleXMLIterator es una extensión vacía de SimpleXMLElement.
Cambios en la gestión del archivo INI#
-
com.dotnet_version es una nueva directiva INI para elegir la versión del framework .NET a usar en los objetos
dotnet. -
zend.exception_string_param_max_len es una nueva directiva INI para establecer la longitud máxima de la cadena de una traza de pila convertida a cadena.
EBCDIC#
Los objetivos EBCDIC no estarán más soportadas, aunque es poco probable que todavía estuvieran trabajando en el primer lugar.
Rendimiento#
-
Un compilador Just-In-Time (JIT) ha sido añadido a la extensión opcache
-
array_slicede un array sin gaps no escaneará más el array completo para encontrar el offset del comienzo. Esto puede ser significante al reducir el runtime de la función con offsets más largos y tamaños más pequeños. -
strtolowerahora usa una implementación SIMD cuando se usa"C"LC_CTYPElocale (que es la opción por defecto).