Nette Documentation Preview

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

.[perex]
Nette Application es el núcleo de Nette Framework y ofrece herramientas potentes para crear aplicaciones web modernas. Aporta una serie de funciones excepcionales que simplifican notablemente el desarrollo y mejoran la seguridad y la mantenibilidad del código.


Instalación
-----------

Descargue e instale la biblioteca con [Composer|best-practices:composer]:

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


¿Por qué elegir Nette Application?
----------------------------------

Nette ha sido siempre un pionero en tecnologías web.

**Router bidireccional:** Nette dispone de un sistema de enrutamiento avanzado y único por su bidireccionalidad: no solo traduce las URL en acciones de la aplicación, sino que también sabe generar URL a la inversa. Esto significa que:
- Puede cambiar en cualquier momento la estructura de URL de toda la aplicación sin tocar las plantillas
- Las URL se canonizan automáticamente, lo que mejora el SEO
- El enrutamiento se define en un solo sitio, no disperso en anotaciones

**Componentes y señales:** el sistema integrado de componentes, inspirado en Delphi y React.js, es único entre los frameworks de PHP:
- Permite crear elementos de interfaz reutilizables
- Admite la composición jerárquica de componentes
- Ofrece un tratamiento elegante de las peticiones AJAX mediante señales
- Amplia biblioteca de componentes listos para usar en [Componette](https://componette.org)

**AJAX y snippets:** Nette introdujo en 2009 una forma revolucionaria de trabajar con AJAX, mucho antes que soluciones parecidas como Hotwire para Ruby on Rails o Symfony UX Turbo:
- Los snippets permiten actualizar solo partes de la página sin necesidad de escribir JavaScript
- Integración automática con el sistema de componentes
- Invalidación inteligente de secciones de la página
- Transferencia mínima de datos

**Plantillas [Latte|latte:] intuitivas:** el sistema de plantillas más seguro para PHP, con funciones avanzadas:
- Protección automática contra XSS con escapado sensible al contexto
- Ampliable con filtros, funciones y etiquetas propios
- Herencia de plantillas y snippets para AJAX
- Excelente soporte de PHP 8.x con sistema de tipos

**Inyección de dependencias:** Nette aprovecha al máximo la inyección de dependencias:
- Paso automático de dependencias (autowiring)
- Configuración con el claro formato NEON
- Soporte de factories de componentes


Principales ventajas
--------------------

- **Seguridad**: protección automática contra [vulnerabilidades|nette:vulnerability-protection] como XSS, CSRF, etc.
- **Productividad**: menos escritura y más funciones gracias a un diseño inteligente
- **Depuración**: [depurador Tracy|tracy:] con panel de enrutamiento
- **Rendimiento**: caché inteligente, carga diferida de componentes
- **Flexibilidad**: modificación sencilla de las URL incluso con la aplicación terminada
- **Componentes**: sistema único de elementos de interfaz reutilizables
- **Modernidad**: pleno soporte de PHP 8.3+ y del sistema de tipos


Primeros pasos
--------------

1. [¿Cómo funcionan las aplicaciones? |how-it-works] - comprender la arquitectura básica
2. [Presenters |presenters] - trabajar con presenters y acciones
3. [Plantillas |templates] - crear plantillas en Latte
4. [Enrutamiento |routing] - configurar las direcciones URL
5. [Componentes interactivos |components] - usar el sistema de componentes


Compatibilidad con PHP
----------------------

| versión               | compatible con 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

Vale para las últimas versiones correctivas.

Nette Application

Nette Application es el núcleo de Nette Framework y ofrece herramientas potentes para crear aplicaciones web modernas. Aporta una serie de funciones excepcionales que simplifican notablemente el desarrollo y mejoran la seguridad y la mantenibilidad del código.

Instalación

Descargue e instale la biblioteca con Composer:

composer require nette/application

¿Por qué elegir Nette Application?

Nette ha sido siempre un pionero en tecnologías web.

Router bidireccional: Nette dispone de un sistema de enrutamiento avanzado y único por su bidireccionalidad: no solo traduce las URL en acciones de la aplicación, sino que también sabe generar URL a la inversa. Esto significa que:

  • Puede cambiar en cualquier momento la estructura de URL de toda la aplicación sin tocar las plantillas
  • Las URL se canonizan automáticamente, lo que mejora el SEO
  • El enrutamiento se define en un solo sitio, no disperso en anotaciones

Componentes y señales: el sistema integrado de componentes, inspirado en Delphi y React.js, es único entre los frameworks de PHP:

  • Permite crear elementos de interfaz reutilizables
  • Admite la composición jerárquica de componentes
  • Ofrece un tratamiento elegante de las peticiones AJAX mediante señales
  • Amplia biblioteca de componentes listos para usar en Componette

AJAX y snippets: Nette introdujo en 2009 una forma revolucionaria de trabajar con AJAX, mucho antes que soluciones parecidas como Hotwire para Ruby on Rails o Symfony UX Turbo:

  • Los snippets permiten actualizar solo partes de la página sin necesidad de escribir JavaScript
  • Integración automática con el sistema de componentes
  • Invalidación inteligente de secciones de la página
  • Transferencia mínima de datos

Plantillas Latte intuitivas: el sistema de plantillas más seguro para PHP, con funciones avanzadas:

  • Protección automática contra XSS con escapado sensible al contexto
  • Ampliable con filtros, funciones y etiquetas propios
  • Herencia de plantillas y snippets para AJAX
  • Excelente soporte de PHP 8.x con sistema de tipos

Inyección de dependencias: Nette aprovecha al máximo la inyección de dependencias:

  • Paso automático de dependencias (autowiring)
  • Configuración con el claro formato NEON
  • Soporte de factories de componentes

Principales ventajas

  • Seguridad: protección automática contra vulnerabilidades como XSS, CSRF, etc.
  • Productividad: menos escritura y más funciones gracias a un diseño inteligente
  • Depuración: depurador Tracy con panel de enrutamiento
  • Rendimiento: caché inteligente, carga diferida de componentes
  • Flexibilidad: modificación sencilla de las URL incluso con la aplicación terminada
  • Componentes: sistema único de elementos de interfaz reutilizables
  • Modernidad: pleno soporte de PHP 8.3+ y del sistema de tipos

Primeros pasos

  1. ¿Cómo funcionan las aplicaciones? – comprender la arquitectura básica
  2. Presenters – trabajar con presenters y acciones
  3. Plantillas – crear plantillas en Latte
  4. Enrutamiento – configurar las direcciones URL
  5. Componentes interactivos – usar el sistema de componentes

Compatibilidad con PHP

versión compatible con 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

Vale para las últimas versiones correctivas.