Maison > Article > développement back-end > Mon parcours en tant que stagiaire Laravel
Bonjour, je m'appelle Tammy Alemu. Laissez-moi vous présenter mon parcours passionnant en tant que stagiaire Laravel. Mon objectif était d'acquérir une expérience dans l'industrie, d'écrire du code lisible et de comprendre en profondeur le cadre. Voici comment tout s’est passé, avec les défis auxquels j’ai été confronté et les solutions que j’ai trouvées en cours de route.
Lors de mon stage, j'avais trois objectifs principaux :
Expérience industrielle : acquérez une expérience pratique dans un environnement professionnel.
Code lisible : écrivez du code propre, maintenable et lisible.
Compréhension du framework : développer une compréhension approfondie du framework Laravel.
Mon parcours a commencé par la mise en place de l'environnement de développement. Avant ce stage, j'ai interagi avec le backend en utilisant une architecture frontend, soit via des vues Blade, soit via JavaScript fourni avec Vite. Donc, je ne voyais pas vraiment la nécessité de mettre en place CORS et tout ça. Ensuite, j'ai découvert Postman — wow, ça a changé la donne !
Facteur
Postman m'a aidé à définir et modifier des requêtes HTTP, à transmettre des paramètres et des valeurs, et à gérer l'authentification et les jetons du porteur. Cela a élargi ma compréhension de la structure du backend et de son fonctionnement. Voir les données sous leur forme brute et les manipuler directement était révélateur. J'ai réalisé que les opérations backend apparemment complexes étaient plus simples que je ne le pensais au départ.
Compositeur
Composer était un autre outil essentiel. Je l'ai utilisé pour installer des packages et j'ai strictement respecté les normes de formatage PHP PSR-4. Quand je dis strictement, je le pense ! Haha. J'ai rencontré des erreurs lorsque je ne respectais pas les normes, comme générer de la documentation et réaliser que j'avais des erreurs dans les espaces de noms en raison d'espaces supplémentaires ou de conventions de dénomination incorrectes pour les modèles et les tables.
La mise en place du projet a nécessité plusieurs étapes clés :
Gestion du référentiel
Cloner des référentiels et configurer mon environnement était assez écrasant au début — haha, quelle aventure ! J'ai découvert scribe:generate, un package qui génère de la documentation. Au début, je me disais : « Quoi ?! » Gérer des seeders de classes spécifiques était un autre défi. Je n'ai pas compris leur objectif par rapport aux seeders normaux jusqu'à ce que je réalise que php artisan db:seed --class=...Seeder exécute directement une classe de seeder spécifique, utile pour ensemencer des tables ou des ensembles de données spécifiques individuellement.
Modèle et gestion des données
J'ai mis en évidence les paramètres nécessaires lors de l'ajout de nouveaux attributs aux modèles et aux types de données spécifiés. Me familiariser avec la sérialisation des données et la transformation pour formater les réponses était crucial. J'ai également appris à utiliser les inclusions et les inclusions par défaut pour formater des données spécifiques et à analyser les inclusions pour ajouter des données aux réponses.
Chargement impatient
Le chargement impatient a été l'une des belles choses que j'ai apprises. Au lieu du chargement différé, où une nouvelle requête SQL s'exécute dans une boucle, le chargement rapide effectue une seule requête pour charger toutes les données nécessaires. L'assistant with est devenu vital pour des requêtes efficaces dans la base de données, cela m'a incité à rechercher de superbes assistants disponibles dans Laravel, quelle différence cela a fait !
Étendues de requête et générateurs
J'ai utilisé les étendues de requête disponibles pour le contrôleur pour récupérer les données avant de les transformer. Les générateurs de requêtes sont également devenus mon outil de référence pour une récupération rationalisée des données.
Contrôleurs
Les contrôleurs gèrent la logique de base pour différents types de requêtes (GET, POST, UPDATE). J'ai appris à écrire des points de terminaison et à commenter clairement la documentation Scribe. L’utilisation d’actions pour extraire du code réutilisable dans différents contrôleurs garantissait une structure de code propre. La mise en œuvre de méthodes try-catch lorsque vous travaillez avec la base de données a été une autre leçon précieuse.
Vues
Bien que peu utilisées, les vues étaient principalement utilisées pour formater les réponses par courrier.
Développement d'API
J'ai appris à concevoir et à mettre en œuvre des API selon les principes RESTful et je les ai testées à l'aide des outils de journalisation intégrés de Laravel et de Postman.
Cette connaissance m'amène à créer et à travailler avec Laravel socialite, en intégrant l'authentification Google pour la connexion et l'utilisation du sanctuaire Laravel, en direct sur mon profil GitHub.
Défis
Comprendre la base de code était au départ difficile, d'autant plus qu'aucun itinéraire de collecte n'était disponible dans Postman. J'ai dû les construire et comprendre la structure, ce qui nécessitait parfois des paramètres supplémentaires et ralentissait mon processus de développement.
Mes connaissances fondamentales superficielles de PHP ont également affecté mes progrès, entraînant un temps supplémentaire consacré aux tâches.
Solutions
Pour surmonter ces défis, je me suis concentré sur l'apprentissage des bases et j'ai pratiqué en travaillant sur une branche distincte en dehors des tâches qui m'étaient assignées. J'ai approfondi la compréhension de PHP, en recherchant des ressources telles que « Programmation avec GIO », « PHP the Right Way » et Laracasts — je les recommande vivement !
Ce n’est pas grave de ne pas mémoriser la syntaxe. Haha, pour des cas comme celui-ci, je me suis toujours référé à la documentation. La lecture de documents élargit votre compréhension d'un sujet particulier.
Dans l’ensemble, mon expérience de travail avec l’équipe a été superbe. En plus d'être un poste rémunéré, ils offraient de l'aide pour comprendre et créer des applications. L'équipe avec laquelle je travaille explique les tâches que l'on souhaite accomplir et donne des réponses rapides face aux défis auxquels je suis confronté.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!