Обновление

Обновление до версии 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 и старый синтаксис ссылок больше не поддерживаются.
версия: 4.x