Nette Application

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

Установка

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

composer require nette/application

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

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

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

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

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

  • Позволяет создавать переиспользуемые элементы интерфейса
  • Поддерживает иерархическую композицию компонентов
  • Предлагает изящную обработку 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 даже после завершения приложения
  • Компоненты: уникальная система переиспользуемых элементов интерфейса
  • Современность: полная поддержка PHP 8.3+ и системы типов

Первые шаги

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

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

версия совместимость с PHP
Nette Application 3.3 PHP 8.3 – 8.5
Nette Application 3.2 PHP 8.1 – 8.5
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

Относится к последним патч-версиям.

версия: 4.x