Il s'agit d'un tutoriel ou d'une formation. Ne vous attendez pas à un didacticiel pas à pas montrant comment utiliser ASP.NET Core. Il compare uniquement les similitudes et les différences entre Symfony et ASP.NET Core. Symfony est pris comme point de référence, donc s'il existe des fonctionnalités uniquement disponibles dans .NET Core, elles risquent de ne jamais accéder à cet article (sauf si elles sont pertinentes pour la comparaison).
Dans Symfony, les routes sont définies à l'aide d'attributs ou dans un fichier de configuration. Par défaut, le fichier doit être un fichier YAML. Mais nous pouvons toujours changer cela et utiliser un fichier XML ou le définir dans un simple fichier PHP. Lorsque vous travaillez avec des attributs, le framework doit être configuré de manière appropriée pour utiliser cette fonctionnalité :
# contrôleurs config/routes/attributes.yaml : ressource : chemin : ../../src/Controller/ espace de noms : App\Controller type : attributLa configuration ci-dessus indique à Symfony de rechercher des attributs dans un chemin et un espace de noms spécifiques.
Il est considéré comme la meilleure pratique de définir le routage à proximité du contrôleur. Cela ressemblera à ceci :
// espace de noms src/Controller/BlogController.php App\Controller ; utilisez Symfony\Bundle\FrameworkBundle\Controller\AbstractController ; utilisez Symfony\Component\HttpFoundation\Response ; utilisez Symfony\Component\Routing\Attribute\Route ; class BlogController extends AbstractController { #[Route('/blog')] public function list(): Response { // ... } }En apparence, la manière .NET Core de définir un itinéraire est similaire. Nous devons mettre un attribut sur un contrôleur :
// Contrôleurs/BlogController.cs utilisant Microsoft.AspNetCore.Mvc ; espace de noms App.Controllers ; public class BlogController { [Route("/blog")] public string List() { // ... } }Dans Symfony, le routage peut être défini à plusieurs endroits, y compris dans les fichiers de configuration comme YAML. Ce n'est pas une option dans .NET, où tout est dans le code.
Dans Symfony, nous devons indiquer au framework où trouver les contrôleurs. Ce n'est qu'alors que nous pouvons utiliser un attribut. Dans .NET Core, nous pouvons placer le contrôleur où nous le souhaitons. La seule chose importante est qu’il ait un attribut.
Dans Symfony, on peut définir des contrôleurs en utilisant une approche dite « micro-framework ». Dans ce cas, le routage est défini directement dans le noyau. Pour utiliser cette fonctionnalité, nous devons d'abord indiquer au framework d'obtenir les routes du noyau :
# noyau config/routes/attributes.yaml : ressource : App\Type de noyau : attribut