Actualización

Actualización a la versión 4.0

La versión mínima de PHP requerida es la 8.0.

La clase Nette\Utils\Reflection ofrecía los métodos getParameterType(), getPropertyType() y getReturnType() para trabajar con tipos. Estos métodos nacieron cuando PHP no tenía tipos union, intersection ni la más reciente forma normal disyuntiva, con los que ya no funcionan correctamente. Han sido sustituidos por la clase Type. Desde la versión 4.0, esos métodos se han eliminado.

Se ha eliminado la variable Nette\Utils\Html::$xhtml.

Las banderas de algunos métodos han sido sustituidas por argumentos nombrados. La notación original sigue funcionando, pero ya no es la preferida: Json::PRETTYpretty:, Json::ESCAPE_UNICODEasciiSafe:, Json::FORCE_ARRAYforceArrays:, PREG_GREP_INVERT en Arrays::grep()invert:, Image::SHRINK_ONLY en Image::resize()shrinkOnly:, y las banderas PREG_* en Strings::split(), match() y matchAll().

El método Nette\Utils\Reflection::getParameterDefaultValue() está obsoleto, porque el nativo ReflectionParameter::getDefaultValue() ya funciona correctamente.

Si usa RobotLoader, actualícelo también a la versión 4.

Finder

Finder se ha trasladado al paquete nette/utils. Elimine el paquete original nette/finder:

composer remove nette/finder

En Linux, Finder funciona ahora de forma predeterminada distinguiendo mayúsculas y minúsculas.

En la versión anterior, los métodos exclude() y filter() se comportaban de forma distinta según se llamaran antesdespués de from() o in(). Ya no es así; exclude() y filter() funcionan siempre igual. El comportamiento de filter() llamado después de from()/in() lo asume ahora el nuevo método descentFilter().

Finder ya no implementa la interfaz Countable.

Una cadena que empieza por barra en Finder::findFiles('/f*') se considera ahora una ruta absoluta. Si pretendía una ruta relativa al directorio actual, sustitúyala por ejemplo por Finder::findFiles('./f*').

Si un directorio en el que busca no existe, se lanza Nette\InvalidStateException (en lugar de la anterior UnexpectedValueException).

Lo que sabe hacer además el Finder reescrito se describe en el artículo Finder 4.0: 10 años de experiencia bajo el capó.

Actualización a la versión 3.1

  • Nette\Utils\Arrays::searchKey() se ha renombrado a getKeyOffset()
  • Nette\Utils\Callback::closure() está obsoleto en favor de Closure::fromCallable()
  • Nette\Utils\Reflection::toString() añade () tras el nombre de la función o el método
  • Nette\Utils\Strings::toAscii() emite un aviso cuando no está presente ext-intl

Actualización a la versión 3.0

La interfaz Nette\Localization\ITranslator ha cambiado.

Nette\Object está obsoleto desde Nette 2.4 y se eliminó en Nette 3.0, pero sigue existiendo con el nuevo nombre Nette\LegacyObject (el nombre object no se puede usar desde PHP 7.1) en el paquete nette/deprecated.

Actualización a la versión 2.4

Las clases del framework usan ahora el trait Nette\SmartObject en lugar de heredar de Nette\Object, lo que difiere en varios casos:

  • admite las “propiedades emuladas” solo cuando está presente la anotación @property type $name
  • no admite los “métodos de extensión”
  • no admite “getReflection”
  • no admite obtener métodos como $this->formSubmitted; use en su lugar un callback clásico de PHP, [$this, 'formSubmitted']

El método Nette\Utils\Html::add() ha sido sustituido por addHtml() y addText().

Actualización a la versión 2.3

  • Image::from() lanza ImageException cuando no puede decodificar el archivo
  • Image::getFormatFromString() está obsoleto
  • Strings::chr() y normalize() funcionan ahora solo con codificación UTF-8
  • Strings::chr() lanza Nette\InvalidArgumentException si el punto de código no está en el rango válido
versión: 4.x