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::PRETTY → pretty:, Json::ESCAPE_UNICODE →
asciiSafe:, Json::FORCE_ARRAY → forceArrays:, 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 antes o despué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 agetKeyOffset()Nette\Utils\Callback::closure()está obsoleto en favor deClosure::fromCallable()Nette\Utils\Reflection::toString()añade()tras el nombre de la función o el métodoNette\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()lanzaImageExceptioncuando no puede decodificar el archivoImage::getFormatFromString()está obsoletoStrings::chr()ynormalize()funcionan ahora solo con codificación UTF-8Strings::chr()lanzaNette\InvalidArgumentExceptionsi el punto de código no está en el rango válido