Настройка приложения
Обзор вариантов конфигурации приложения Nette.
Приложение
Начиная с версии nette/application
3.2 можно определить пару
презентеров ошибок:
Опция silentLinks
определяет, как Nette ведет себя в режиме
разработчика, когда генерация ссылок не удается (например, из-за
отсутствия презентера и т. д.). Значение по умолчанию false
означает, что Nette запускает E_USER_WARNING
. Установка значения
true
подавляет это сообщение об ошибке. В производственной среде
всегда вызывается E_USER_WARNING
. Мы также можем повлиять на это
поведение, установив переменную презентера $invalidLinkMode.
Псевдонимы упрощают обращение к часто используемым ведущим.
Сопоставление определяет правила, по которым имя класса выводится из имени ведущего.
Авторегистрация презентеров
Nette автоматически добавляет презентеры как сервисы в контейнер DI, что значительно ускоряет их создание. Как Nette узнает презентеры, можно настроить:
Каталоги, перечисленные в scanDirs
, не отменяют значение по
умолчанию %appDir%
, а дополняют его, поэтому scanDirs
будет
содержать оба пути %appDir%
и %vendorDir%/mymodule
. Чтобы перезаписать
каталог по умолчанию, мы используем восклицательный знак:
Сканирование каталога можно отключить, задав значение false
. Мы
не рекомендуем полностью подавлять автоматическое добавление
презентеров, иначе производительность приложения снизится.
Latte
Эта настройка глобально влияет на поведение Latte в компонентах и презентерах.
Если вы используете Latte версии 3, вы можете добавить новое расширение, используя:
Маршрутизация
Основные настройки:
Маршруты обычно определяются в классе RouterFactory. Альтернативно,
простые правила маршрутизации можно определить в конфигурации с
помощью пар маска: действие
:
Константы
Создание констант PHP:
Константа Foobar
будет создана после запуска.
Константы не должны служить в качестве глобально доступных переменных. Для передачи значений объектам используйте dependency injection.
PHP
Вы можете устанавливать директивы PHP. Обзор всех директив можно найти на сайте php.net.
Услуги DI
Эти сервисы добавляются в контейнер DI:
Имя | Тип | Описание |
---|---|---|
application.application |
Nette\Application\Application | full application launcher |
application.linkGenerator |
Nette\Application\LinkGenerator | LinkGenerator |
application.presenterFactory |
Nette\Application\PresenterFactory | фабрика презентеров |
application.### |
Nette\Application\UI\Presenter | индивидуальные докладчики |
latte.latteFactory |
Nette\Bridges\ApplicationLatte\LatteFactory | завод для Latte\Engine |
latte.templateFactory |
Nette\Application\UI\TemplateFactory | завод для $this->template |