Nette Documentation Preview

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

.[perex]
Nette Application es el núcleo del framework Nette, que proporciona potentes herramientas para crear aplicaciones web modernas. Ofrece una serie de características excepcionales que facilitan significativamente el desarrollo y mejoran la seguridad y la mantenibilidad del código.


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

Puede descargar e instalar la librería usando [Composer|best-practices:composer]:

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


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

Nette siempre ha sido un pionero en el campo de las tecnologías web.

**Router bidireccional:** Nette cuenta con un sistema de enrutamiento avanzado que es único por su bidireccionalidad: no solo traduce las URL en acciones de la aplicación, sino que también puede generar direcciones URL inversamente. Esto significa que:
- Puede cambiar la estructura de URL de toda la aplicación en cualquier momento sin necesidad de modificar las plantillas
- Las URL se canonizan automáticamente, lo que mejora el SEO
- El enrutamiento se define en un solo lugar, no disperso en anotaciones

**Componentes y señales:** El sistema de componentes incorporado, inspirado en Delphi y React.js, es completamente excepcional entre los frameworks PHP:
- Permite crear elementos de UI reutilizables
- Soporta la composición jerárquica de componentes
- Ofrece un manejo elegante de las peticiones AJAX mediante señales
- Una rica librería de componentes listos para usar en [Componette](https://componette.org)

**AJAX y snippets:** Nette introdujo una forma revolucionaria de trabajar con AJAX ya en 2009, mucho antes de soluciones similares 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 partes de las páginas
- Cantidad mínima de datos transferidos

**Plantillas intuitivas [Latte|latte:]:** El sistema de plantillas más seguro para PHP con funciones avanzadas:
- Protección automática contra XSS con escape sensible al contexto
- Extensibilidad mediante filtros, funciones y etiquetas personalizadas
- Herencia de plantillas y snippets para AJAX
- Excelente soporte para 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 mediante el claro formato NEON
- Soporte para fábricas de componentes


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

- **Seguridad**: Defensa automática contra [vulnerabilidades|nette:vulnerability-protection] como XSS, CSRF, etc.
- **Productividad**: Menos escritura, 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**: Fácil modificación de URL incluso después de completar la aplicación
- **Componentes**: Sistema único de elementos de UI reutilizables
- **Moderno**: Soporte completo para PHP 8.4+ y sistema de tipos


Empezando
---------

1. [¿Cómo funcionan las aplicaciones? |how-it-works] - Comprensión de la arquitectura básica
2. [Presenters |presenters] - Trabajo con presenters y acciones
3. [Plantillas |templates] - Creación de plantillas en Latte
4. [Enrutamiento |routing] - Configuración de direcciones URL
5. [Componentes interactivos |components] - Uso del sistema de componentes


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

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

Válido para la última versión del parche.

Nette Application

Nette Application es el núcleo del framework Nette, que proporciona potentes herramientas para crear aplicaciones web modernas. Ofrece una serie de características excepcionales que facilitan significativamente el desarrollo y mejoran la seguridad y la mantenibilidad del código.

Instalación

Puede descargar e instalar la librería usando Composer:

composer require nette/application

¿Por qué elegir Nette Application?

Nette siempre ha sido un pionero en el campo de las tecnologías web.

Router bidireccional: Nette cuenta con un sistema de enrutamiento avanzado que es único por su bidireccionalidad: no solo traduce las URL en acciones de la aplicación, sino que también puede generar direcciones URL inversamente. Esto significa que:

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

Componentes y señales: El sistema de componentes incorporado, inspirado en Delphi y React.js, es completamente excepcional entre los frameworks PHP:

  • Permite crear elementos de UI reutilizables
  • Soporta la composición jerárquica de componentes
  • Ofrece un manejo elegante de las peticiones AJAX mediante señales
  • Una rica librería de componentes listos para usar en Componette

AJAX y snippets: Nette introdujo una forma revolucionaria de trabajar con AJAX ya en 2009, mucho antes de soluciones similares 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 partes de las páginas
  • Cantidad mínima de datos transferidos

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

  • Protección automática contra XSS con escape sensible al contexto
  • Extensibilidad mediante filtros, funciones y etiquetas personalizadas
  • Herencia de plantillas y snippets para AJAX
  • Excelente soporte para 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 mediante el claro formato NEON
  • Soporte para fábricas de componentes

Principales ventajas

  • Seguridad: Defensa automática contra vulnerabilidades como XSS, CSRF, etc.
  • Productividad: Menos escritura, 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: Fácil modificación de URL incluso después de completar la aplicación
  • Componentes: Sistema único de elementos de UI reutilizables
  • Moderno: Soporte completo para PHP 8.4+ y sistema de tipos

Empezando

  1. ¿Cómo funcionan las aplicaciones? – Comprensión de la arquitectura básica
  2. Presenters – Trabajo con presenters y acciones
  3. Plantillas – Creación de plantillas en Latte
  4. Enrutamiento – Configuración de direcciones URL
  5. Componentes interactivos – Uso del sistema de componentes

Compatibilidad con PHP

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

Válido para la última versión del parche.