Обновление
Обновление до версии 3.0
Nette 3.0 добавляет объявления типов параметров и возвращаемых значений методов. Если вы переопределяете такой метод в классе, наследующем от Nette (например, в презентере или компоненте), вам нужно добавить те же объявления типов, иначе PHP выдаст ошибку „Declaration must be compatible“.
Интерфейс Nette\Application\IRouter изменился. Метод match() теперь
возвращает, а constructUrl() принимает массив параметров вместо
объекта Nette\Application\Request.
Nette теперь проверяет, что каждый сигнал отправлен с того же источника
(то есть с того же домена и поддомена). Эта политика одного источника –
критически важный механизм безопасности, помогающий сократить
возможные векторы атак. Если вы хотите разрешить другие источники,
добавьте к методу-обработчику аннотацию @crossOrigin:
/**
* @crossOrigin
*/
public function handleXy(): void
{
}
Это относится и к отправке форм. Если вы хотите разрешить отправку с других источников, сделайте так:
$form = new Nette\Application\UI\Form;
$form->allowCrossOrigin();
Конструктор Nette\ComponentModel\Component не использовался годами и был
удалён в версии 3.0. Это несовместимое изменение: если вы вызываете
родительский конструктор в компоненте или презентере, наследующем от
Nette\Application\UI\Presenter, вам нужно убрать этот вызов.
Обновление до версии 2.4
RouteиSimpleRouterтеперь порождают ту же схему HTTP/HTTPS, по которой был открыт сайт. Маршрут, требующий определённого протокола, можно задать со схемой, напримерRoute('http://domain.cz/<presenter>').- Для параметров типа bool у методов render/action (то есть со значением по
умолчанию true или false) и для постоянных параметров теперь различаются
falseиnull. Если параметра нет в URL, его значением теперь будетnull(раньшеfalse). - Класс, возвращаемый
Presenter::getReflection(), больше не является потомкомNette\Reflection\ClassType, аgetReflection()->getMethod()больше не является потомкомNette\Reflection\Method. - Флаг
SECUREDиRoute::$defaultFlagsобъявлены устаревшими.
Обновление до версии 2.3
- маршруты и имена презентеров чувствительны к регистру. Nette предупредит вас, если вы используете неверный регистр в имени презентера; из соображений производительности маска Route не проверяется, поэтому проверьте её вручную.
Route::addStyle()иRoute::setStyleProperty()объявлены устаревшими и теперь выдаютE_USER_DEPRECATED.- расширение шаблонов
.phtmlи старый синтаксис ссылок больше не поддерживаются.