Aggiornamento
Aggiornamento alla versione 4.0
La versione minima di PHP richiesta è la 8.0.
La classe Nette\Utils\Reflection offriva i metodi getParameterType(), getPropertyType()
e getReturnType() per lavorare con i tipi. Questi metodi sono nati quando PHP non aveva ancora i tipi unione,
intersezione e la più recente forma normale disgiuntiva, con i quali non funzionano più correttamente. Sono stati sostituiti
dalla classe Type. Dalla versione 4.0 questi metodi sono stati rimossi.
La variabile Nette\Utils\Html::$xhtml è stata rimossa.
I flag di alcuni metodi sono stati sostituiti da argomenti nominali. La notazione originale funziona ancora, ma non è più
quella preferita: Json::PRETTY → pretty:, Json::ESCAPE_UNICODE →
asciiSafe:, Json::FORCE_ARRAY → forceArrays:, PREG_GREP_INVERT in
Arrays::grep() → invert:, Image::SHRINK_ONLY in Image::resize() →
shrinkOnly: e i flag PREG_* in Strings::split(), match() e
matchAll().
Il metodo Nette\Utils\Reflection::getParameterDefaultValue() è deprecato, perché il nativo
ReflectionParameter::getDefaultValue() funziona ormai correttamente.
Se usate RobotLoader, aggiornate anche quello alla versione 4.
Finder
Finder è passato al pacchetto nette/utils. Rimuovete il pacchetto originale nette/finder:
composer remove nette/finder
Su Linux, Finder lavora ora per impostazione predefinita in modalità sensibile alle maiuscole.
Nella versione precedente i metodi exclude() e filter() si comportavano in modo diverso a seconda
che venissero chiamati prima o dopo from() o in(). Ora non è più così:
exclude() e filter() funzionano sempre allo stesso modo. Il comportamento di filter()
chiamato dopo from()/in() è ora affidato al nuovo metodo descentFilter().
Finder non implementa più l'interfaccia Countable.
Una stringa che inizia con una barra in Finder::findFiles('/f*') è ora considerata un percorso assoluto. Se
intendevate un percorso relativo alla directory corrente, sostituitela per esempio con Finder::findFiles('./f*').
Se una directory in cui state cercando non esiste, viene sollevata Nette\InvalidStateException (al posto della
precedente UnexpectedValueException).
Cos'altro sa fare il Finder riscritto è descritto nell'articolo Finder 4.0: 10 anni di esperienza sotto il cofano.
Aggiornamento alla versione 3.1
Nette\Utils\Arrays::searchKey()è stato rinominato ingetKeyOffset()Nette\Utils\Callback::closure()è deprecato in favore diClosure::fromCallable()Nette\Utils\Reflection::toString()aggiunge()dopo il nome della funzione o del metodoNette\Utils\Strings::toAscii()emette un notice quando ext-intl non è presente
Aggiornamento alla versione 3.0
L'interfaccia Nette\Localization\ITranslator è cambiata.
Nette\Object è deprecato da Nette 2.4 ed è stato rimosso in Nette 3.0, ma esiste ancora con il nuovo nome
Nette\LegacyObject (il nome object non si può usare da PHP 7.1) nel pacchetto nette/deprecated.
Aggiornamento alla versione 2.4
Le classi del framework usano ora il trait Nette\SmartObject invece di ereditare da Nette\Object, il
che differisce in alcuni casi:
- supporta le “proprietà emulate” solo se è presente l'annotazione
@property type $name - non supporta i “metodi di estensione”
- non supporta “getReflection”
- non supporta l'ottenimento di metodi come
$this->formSubmitted; usate invece un classico callback PHP[$this, 'formSubmitted']
Il metodo Nette\Utils\Html::add() è stato sostituito da addHtml() e addText().
Aggiornamento alla versione 2.3
Image::from()sollevaImageExceptionquando non riesce a decodificare il fileImage::getFormatFromString()è deprecatoStrings::chr()enormalize()ora funzionano solo con la codifica UTF-8Strings::chr()sollevaNette\InvalidArgumentExceptionse il code point non è nell'intervallo valido