Nette Documentation Preview

syntax
Configuration de l'application
******************************

.[perex]
Aperçu des options de configuration de l'application Nette.


Application .[#toc-application]
===============================

```neon
application:
	# affiche le panneau "Nette Application" dans Tracy BlueScreen ?
	debugger: ...           # (bool) par défaut à true

	# le présentateur d'erreur sera-t-il appelé en cas d'erreur ?
	catchExceptions: ...    # (bool) vaut true par défaut en mode production

	# nom du présentateur d'erreur
	errorPresenter: Error   # (string) vaut par défaut 'Nette:Error'.

	# définit les règles pour résoudre le nom du présentateur vers une classe
	mapping: ...

	# les mauvais liens génèrent-ils des avertissements ?
	# n'a d'effet qu'en mode développeur
	silentLinks: ...        # (bool) valeur par défaut: false
```

Comme les présentateurs d'erreurs ne sont pas appelés par défaut en mode développement et que les erreurs sont affichées par Tracy, le fait de changer la valeur `catchExceptions` en `true` permet de vérifier que les présentateurs d'erreurs fonctionnent correctement pendant le développement.

L'option `silentLinks` détermine comment Nette se comporte en mode développeur lorsque la génération de liens échoue (par exemple, parce qu'il n'y a pas de présentateur, etc). La valeur par défaut `false` signifie que Nette déclenche `E_USER_WARNING`. Le réglage sur `true` supprime ce message d'erreur. Dans un environnement de production, `E_USER_WARNING` est toujours invoqué. Nous pouvons également influencer ce comportement en définissant la variable du présentateur [$invalidLinkMode |creating-links#Invalid Links].

Le [mappage définit les règles |modules#mapping] selon lesquelles le nom de la classe est dérivé du nom du présentateur.


Enregistrement automatique des présentateurs .[#toc-automatic-registration-of-presenters]
-----------------------------------------------------------------------------------------

Nette ajoute automatiquement les présentateurs en tant que services au conteneur DI, ce qui accélère considérablement leur création. La manière dont Nette découvre les diffuseurs peut être configurée :

```neon
application:
	# rechercher les diffuseurs dans la carte des classes Composer ?
	scanComposer: ...      # (bool) valeur par défaut: true

	# un masque qui doit correspondre à la classe et au nom du fichier
	scanFilter: ...        # (string) Valeur par défaut: '*Presenter'.

	# dans quels répertoires chercher les diffuseurs ?
	scanDirs:              # (string[]|false) Valeur par défaut: '%appDir%'.
		- %vendorDir%/mymodule
```

Les répertoires listés dans `scanDirs` ne remplacent pas la valeur par défaut `%appDir%`, mais la complètent, ainsi `scanDirs` contiendra les chemins `%appDir%` et `%vendorDir%/mymodule`. Si nous voulons remplacer le répertoire par défaut, nous utilisons le [point d'exclamation |dependency-injection:configuration#Merging]:

```neon
application:
	scanDirs!:
		- %vendorDir%/mymodule
```

L'analyse des répertoires peut être désactivée en définissant false. Nous ne recommandons pas de supprimer complètement l'ajout automatique de diffuseurs, sinon les performances de l'application seront réduites.


Latte .[#toc-latte]
===================

Ce paramètre affecte globalement le comportement de Latte dans les composants et les présentateurs.

```neon
latte:
	# affiche le panneau Latte dans la barre Tracy pour le modèle principal (true) ou pour tous les composants (all) ?
	debugger: ...        # (true|false|'all') vaut true par défaut

	# génère des modèles avec declare(strict_types=1)
	strictTypes: ...     # (bool) vaut false par défaut

	# classe de $this->template
	templateClass: App\MyTemplateClass # Valeur par défaut: Nette\Bridges\ApplicationLatte\DefaultTemplate
```

Si vous utilisez la version 3 de Latte, vous pouvez ajouter une nouvelle [extension |latte:creating-extension] en utilisant :

```neon
latte:
	extensions:
		- Latte\Essential\TranslatorExtension
```

/--comment











\--


Routage .[#toc-routing]
=======================

Paramètres de base :

```neon
routage:
	# affiche le panneau de routage dans Tracy Bar ?
	debugger: ...   # (bool) par défaut à true

	# pour sérialiser le routeur dans le conteneur DI ?
	cache: ...      # (bool) par défaut à false
```

Le routeur est généralement défini dans la classe [RouterFactory |routing#Route Collection]. Il est également possible de définir les routeurs dans la configuration en utilisant les paires `mask: action`, mais cette méthode n'offre pas une aussi grande variation des paramètres :

```neon
routing:
	routes:
		'detail/<id>': Admin:Home:default
		'<presenter>/<action>': Front:Home:default
```


Constantes .[#toc-constants]
============================

Création de constantes PHP.

```neon
constants:
	Foobar: 'baz'
```

La constante `Foobar` sera créée après le démarrage.

.[note]
Les constantes ne doivent pas servir de variables disponibles dans le monde entier. Pour transmettre des valeurs aux objets, utilisez l'[injection de dépendances |dependency-injection:passing-dependencies].


PHP
===

Vous pouvez définir des directives PHP. Un aperçu de toutes les directives peut être trouvé sur [php.net |https://www.php.net/manual/en/ini.list.php].

```neon
php:
	date.timezone: Europe/Prague
```

Configuration de l'application

Aperçu des options de configuration de l'application Nette.

Application

application:
	# affiche le panneau "Nette Application" dans Tracy BlueScreen ?
	debugger: ...           # (bool) par défaut à true

	# le présentateur d'erreur sera-t-il appelé en cas d'erreur ?
	catchExceptions: ...    # (bool) vaut true par défaut en mode production

	# nom du présentateur d'erreur
	errorPresenter: Error   # (string) vaut par défaut 'Nette:Error'.

	# définit les règles pour résoudre le nom du présentateur vers une classe
	mapping: ...

	# les mauvais liens génèrent-ils des avertissements ?
	# n'a d'effet qu'en mode développeur
	silentLinks: ...        # (bool) valeur par défaut: false

Comme les présentateurs d'erreurs ne sont pas appelés par défaut en mode développement et que les erreurs sont affichées par Tracy, le fait de changer la valeur catchExceptions en true permet de vérifier que les présentateurs d'erreurs fonctionnent correctement pendant le développement.

L'option silentLinks détermine comment Nette se comporte en mode développeur lorsque la génération de liens échoue (par exemple, parce qu'il n'y a pas de présentateur, etc). La valeur par défaut false signifie que Nette déclenche E_USER_WARNING. Le réglage sur true supprime ce message d'erreur. Dans un environnement de production, E_USER_WARNING est toujours invoqué. Nous pouvons également influencer ce comportement en définissant la variable du présentateur $invalidLinkMode.

Le mappage définit les règles selon lesquelles le nom de la classe est dérivé du nom du présentateur.

Enregistrement automatique des présentateurs

Nette ajoute automatiquement les présentateurs en tant que services au conteneur DI, ce qui accélère considérablement leur création. La manière dont Nette découvre les diffuseurs peut être configurée :

application:
	# rechercher les diffuseurs dans la carte des classes Composer ?
	scanComposer: ...      # (bool) valeur par défaut: true

	# un masque qui doit correspondre à la classe et au nom du fichier
	scanFilter: ...        # (string) Valeur par défaut: '*Presenter'.

	# dans quels répertoires chercher les diffuseurs ?
	scanDirs:              # (string[]|false) Valeur par défaut: '%appDir%'.
		- %vendorDir%/mymodule

Les répertoires listés dans scanDirs ne remplacent pas la valeur par défaut %appDir%, mais la complètent, ainsi scanDirs contiendra les chemins %appDir% et %vendorDir%/mymodule. Si nous voulons remplacer le répertoire par défaut, nous utilisons le point d'exclamation:

application:
	scanDirs!:
		- %vendorDir%/mymodule

L'analyse des répertoires peut être désactivée en définissant false. Nous ne recommandons pas de supprimer complètement l'ajout automatique de diffuseurs, sinon les performances de l'application seront réduites.

Latte

Ce paramètre affecte globalement le comportement de Latte dans les composants et les présentateurs.

latte:
	# affiche le panneau Latte dans la barre Tracy pour le modèle principal (true) ou pour tous les composants (all) ?
	debugger: ...        # (true|false|'all') vaut true par défaut

	# génère des modèles avec declare(strict_types=1)
	strictTypes: ...     # (bool) vaut false par défaut

	# classe de $this->template
	templateClass: App\MyTemplateClass # Valeur par défaut: Nette\Bridges\ApplicationLatte\DefaultTemplate

Si vous utilisez la version 3 de Latte, vous pouvez ajouter une nouvelle extension en utilisant :

latte:
	extensions:
		- Latte\Essential\TranslatorExtension

Routage

Paramètres de base :

routage:
	# affiche le panneau de routage dans Tracy Bar ?
	debugger: ...   # (bool) par défaut à true

	# pour sérialiser le routeur dans le conteneur DI ?
	cache: ...      # (bool) par défaut à false

Le routeur est généralement défini dans la classe RouterFactory. Il est également possible de définir les routeurs dans la configuration en utilisant les paires mask: action, mais cette méthode n'offre pas une aussi grande variation des paramètres :

routing:
	routes:
		'detail/<id>': Admin:Home:default
		'<presenter>/<action>': Front:Home:default

Constantes

Création de constantes PHP.

constants:
	Foobar: 'baz'

La constante Foobar sera créée après le démarrage.

Les constantes ne doivent pas servir de variables disponibles dans le monde entier. Pour transmettre des valeurs aux objets, utilisez l'injection de dépendances.

PHP

Vous pouvez définir des directives PHP. Un aperçu de toutes les directives peut être trouvé sur php.net.

php:
	date.timezone: Europe/Prague