Nette Documentation Preview

syntax
Nette Application
*****************

.[perex]
Nette Application является ядром фреймворка Nette, предоставляя мощные инструменты для создания современных веб-приложений. Оно предлагает ряд исключительных возможностей, которые значительно упрощают разработку и повышают безопасность и поддерживаемость кода.


Установка
---------

Скачать и установить библиотеку можно с помощью [Composer|best-practices:composer]:

```shell
composer require nette/application
```


Почему стоит выбрать Nette Application?
---------------------------------------

Nette всегда был пионером в области веб-технологий.

**Двунаправленный маршрутизатор:** Nette обладает продвинутой системой маршрутизации, уникальной своей двунаправленностью — она не только преобразует URL в действия (actions) приложения, но и способна генерировать URL-адреса в обратную сторону. Это означает, что:
- Вы можете в любое время изменить структуру URL всего приложения без необходимости редактировать шаблоны
- URL автоматически канонизируются, что улучшает SEO
- Маршрутизация определяется в одном месте, а не разбросана по аннотациям

**Компоненты и сигналы:** Встроенная компонентная система, вдохновленная Delphi и React.js, является совершенно уникальной среди PHP-фреймворков:
- Позволяет создавать повторно используемые элементы UI
- Поддерживает иерархическую композицию компонентов
- Предлагает элегантную обработку AJAX-запросов с помощью сигналов
- Богатая библиотека готовых компонентов на [Componette](https://componette.org)

**AJAX и сниппеты:** Nette представил революционный способ работы с AJAX еще в 2009 году, задолго до появления аналогичных решений, таких как Hotwire для Ruby on Rails или Symfony UX Turbo:
- Сниппеты позволяют обновлять только части страницы без необходимости писать JavaScript
- Автоматическая интеграция с компонентной системой
- Умная инвалидация частей страниц
- Минимальное количество передаваемых данных

**Интуитивные шаблоны [Latte|latte:]:** Самая безопасная система шаблонов для PHP с расширенными функциями:
- Автоматическая защита от XSS с контекстно-зависимым экранированием
- Расширяемость с помощью пользовательских фильтров, функций и тегов
- Наследование шаблонов и сниппеты для AJAX
- Отличная поддержка PHP 8.x с системой типов

**Dependency Injection:** Nette полностью использует Dependency Injection:
- Автоматическая передача зависимостей (autowiring)
- Конфигурация с помощью понятного формата NEON
- Поддержка фабрик компонентов


Основные преимущества
---------------------

- **Безопасность**: Автоматическая защита от [уязвимостей|nette:vulnerability-protection], таких как XSS, CSRF и т. д.
- **Продуктивность**: Меньше кода, больше функций благодаря умному дизайну
- **Отладка**: [отладчик Tracy|tracy:] с панелью маршрутизации
- **Производительность**: Умный кеш, ленивая загрузка компонентов
- **Гибкость**: Легкое изменение URL даже после завершения приложения
- **Компоненты**: Уникальная система повторно используемых элементов UI
- **Современность**: Полная поддержка PHP 8.4+ и системы типов


Начало работы
-------------

1. [Как работают приложения? |how-it-works] - Понимание базовой архитектуры
2. [Презентеры |presenters] - Работа с презентерами и действиями
3. [Шаблоны |templates] - Создание шаблонов в Latte
4. [Маршрутизация |routing] - Конфигурация URL-адресов
5. [Интерактивные компоненты |components] - Использование компонентной системы


Совместимость с PHP
-------------------

| версия     | совместим с PHP
|-----------|-------------------
| Nette Application 4.0 | PHP 8.1 – 8.4
| Nette Application 3.2 | PHP 8.1 – 8.4
| Nette Application 3.1 | PHP 7.2 – 8.3
| Nette Application 3.0 | PHP 7.1 – 8.0
| Nette Application 2.4 | PHP 5.6 – 8.0

Действительно для последних патч-версий.

Nette Application

Nette Application является ядром фреймворка Nette, предоставляя мощные инструменты для создания современных веб-приложений. Оно предлагает ряд исключительных возможностей, которые значительно упрощают разработку и повышают безопасность и поддерживаемость кода.

Установка

Скачать и установить библиотеку можно с помощью Composer:

composer require nette/application

Почему стоит выбрать Nette Application?

Nette всегда был пионером в области веб-технологий.

Двунаправленный маршрутизатор: Nette обладает продвинутой системой маршрутизации, уникальной своей двунаправленностью — она не только преобразует URL в действия (actions) приложения, но и способна генерировать URL-адреса в обратную сторону. Это означает, что:

  • Вы можете в любое время изменить структуру URL всего приложения без необходимости редактировать шаблоны
  • URL автоматически канонизируются, что улучшает SEO
  • Маршрутизация определяется в одном месте, а не разбросана по аннотациям

Компоненты и сигналы: Встроенная компонентная система, вдохновленная Delphi и React.js, является совершенно уникальной среди PHP-фреймворков:

  • Позволяет создавать повторно используемые элементы UI
  • Поддерживает иерархическую композицию компонентов
  • Предлагает элегантную обработку AJAX-запросов с помощью сигналов
  • Богатая библиотека готовых компонентов на Componette

AJAX и сниппеты: Nette представил революционный способ работы с AJAX еще в 2009 году, задолго до появления аналогичных решений, таких как Hotwire для Ruby on Rails или Symfony UX Turbo:

  • Сниппеты позволяют обновлять только части страницы без необходимости писать JavaScript
  • Автоматическая интеграция с компонентной системой
  • Умная инвалидация частей страниц
  • Минимальное количество передаваемых данных

Интуитивные шаблоны Latte: Самая безопасная система шаблонов для PHP с расширенными функциями:

  • Автоматическая защита от XSS с контекстно-зависимым экранированием
  • Расширяемость с помощью пользовательских фильтров, функций и тегов
  • Наследование шаблонов и сниппеты для AJAX
  • Отличная поддержка PHP 8.x с системой типов

Dependency Injection: Nette полностью использует Dependency Injection:

  • Автоматическая передача зависимостей (autowiring)
  • Конфигурация с помощью понятного формата NEON
  • Поддержка фабрик компонентов

Основные преимущества

  • Безопасность: Автоматическая защита от уязвимостей, таких как XSS, CSRF и т. д.
  • Продуктивность: Меньше кода, больше функций благодаря умному дизайну
  • Отладка: отладчик Tracy с панелью маршрутизации
  • Производительность: Умный кеш, ленивая загрузка компонентов
  • Гибкость: Легкое изменение URL даже после завершения приложения
  • Компоненты: Уникальная система повторно используемых элементов UI
  • Современность: Полная поддержка PHP 8.4+ и системы типов

Начало работы

  1. Как работают приложения? – Понимание базовой архитектуры
  2. Презентеры – Работа с презентерами и действиями
  3. Шаблоны – Создание шаблонов в Latte
  4. Маршрутизация – Конфигурация URL-адресов
  5. Интерактивные компоненты – Использование компонентной системы

Совместимость с PHP

версия совместим с PHP
Nette Application 4.0 PHP 8.1 – 8.4
Nette Application 3.2 PHP 8.1 – 8.4
Nette Application 3.1 PHP 7.2 – 8.3
Nette Application 3.0 PHP 7.1 – 8.0
Nette Application 2.4 PHP 5.6 – 8.0

Действительно для последних патч-версий.