Apprendre Laravel et TypeScript quand on vient de Symfony.
Trois pistes, un même principe : chaque notion nouvelle est mise en regard de son équivalent Symfony ou PHP. Du code côte à côte, les commandes qui se correspondent, et surtout les endroits où votre intuition va vous tromper. 45 sections, 99 blocs de code, aucune inscription.
Les trois pistes
Choisissez votre point de départ
Le même métier, l'inverse des conventions.
Laravel et Symfony résolvent les mêmes problèmes avec deux philosophies opposées. Symfony vous demande de déclarer ; Laravel décide à votre place et vous laisse redéclarer si besoin. Venant de Symfony, votre difficulté ne sera pas la syntaxe — elle sera de faire confiance à ce que vous ne voyez pas écrit.
Du typage PHP, poussé beaucoup plus loin.
Vous typez déjà vos propriétés, vos arguments et vos retours en PHP 8. TypeScript part du même endroit et va bien au-delà : il sait décrire « une chaîne parmi ces trois valeurs », « le même type que la clé de cet objet », ou « ce type moins ces deux champs ». Et il fait tout cela sans exister à l'exécution — c'est un vérificateur, pas un moteur.
Votre point de repère.
Cette piste est votre référence : elle sert d'ancrage aux comparaisons des deux autres. Elle rassemble les commandes et les configurations du quotidien, plus une table de correspondance vers Laravel et TypeScript. Utilisez la recherche pour naviguer entre les trois pistes sur un même concept.
Comment c'est construit
Apprendre par traduction plutôt que par exposé
Un développeur qui maîtrise déjà un framework n'a pas besoin qu'on lui réexplique ce qu'est une route, une migration ou un service. Il a besoin de savoir où le nouveau framework diverge. C'est le parti pris ici : les panneaux comparatifs affichent le code Symfony que vous connaissez à gauche, son équivalent à droite, et les encarts rouges signalent uniquement les pièges réels.
Ce que couvre la piste Laravel
Modèle mental Active Record contre Data Mapper, cycle de vie d'une requête, Artisan face à bin/console, routing centralisé, Blade face à Twig, Eloquent et ses relations, le problème N+1, migrations et factories, Form Requests, Policies face aux Voters, API Resources, queues face à Messenger, tests, déploiement, et les quatorze pièges classiques.
Ce que couvre la piste TypeScript
Effacement des types à la compilation, typage structurel contre nominal, inférence, interfaces et alias, unions discriminées et narrowing, fonctions et génériques, types utilitaires, classes, enums, la distinction null / undefined, manipulation de types, modules, React et Redux Toolkit typés, et la consommation sûre d'une API PHP avec validation de schéma.