{"id":16762,"date":"2024-03-05T21:38:46","date_gmt":"2024-03-05T21:38:46","guid":{"rendered":"https:\/\/www.directimpactsolutions.com\/laravel-stubs\/"},"modified":"2025-05-01T04:41:28","modified_gmt":"2025-05-01T04:41:28","slug":"laravel-stubs","status":"publish","type":"post","link":"https:\/\/www.directimpactsolutions.com\/fr\/laravel-stubs\/","title":{"rendered":"Laravel Stubs"},"content":{"rendered":"<p>Les stubs sont des mod\u00e8les de classe fournis avec Laravel. Ils sont utilis\u00e9s en coulisses chaque fois que vous cr\u00e9ez de nouveaux fichiers dans votre projet. Les stubs sont cach\u00e9s par d\u00e9faut, et je ne pense pas qu&rsquo;ils soient suffisamment appr\u00e9ci\u00e9s.<\/p><p>Il y a de fortes chances que si vous avez travaill\u00e9 avec <a href=\"http:\/\/www.directimpactsolutions.com\/en\/laravel\/\">Laravel<\/a>, vous ayez d\u00e9j\u00e0 utilis\u00e9 une commande <code>artisan make<\/code> pour cr\u00e9er un nouveau mod\u00e8le, un contr\u00f4leur ou un script de migration. Ce faisant, vous avez utilis\u00e9 un stub pour cr\u00e9er un nouveau fichier.<\/p><p>Voyons comment fonctionnent les stubs. Comprendre leur fonctionnement interne nous aidera \u00e0 mieux les utiliser.<\/p><div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><nav><ul><li class=\"\"><a href=\"#an-example-stub\">Un exemple de stub<\/a><\/li><li class=\"\"><a href=\"#stubs-in-action\">Les stubs en action<\/a><\/li><li class=\"\"><a href=\"#come-out-come-out-wherever-you-are\">Sors, sors, o\u00f9 que tu sois !<\/a><\/li><li class=\"\"><a href=\"#so-many-stubs\">Tant de stubs<\/a><\/li><li class=\"\"><a href=\"#where-to-next\">Que faire ensuite ?<\/a><ul><li class=\"\"><a href=\"#naming-conventions-basic\">Conventions d&rsquo;appellation (de base)<\/a><\/li><li class=\"\"><a href=\"#simple-modifications-basic\">Modifications simples (de base)<\/a><\/li><li class=\"\"><a href=\"#new-workflows-intermediate\">Nouveaux flux de travail (interm\u00e9diaire)<\/a><\/li><li class=\"\"><a href=\"#overriding-artisan-make-advanced\">Remplacer Artisan Make (avanc\u00e9)<\/a><\/li><\/ul><\/li><li class=\"\"><a href=\"#wrapping-up\">Pour conclure<\/a><ul><li class=\"\"><a href=\"#artisan-is-a-laravel-command-that-needs-to-be-executed-through-php-these-commands-can-be-run-using-php-artisan-if-being-used-locally-or-vendor-bin-sail-artisan-if-youre-using-laravel-sail\">*`artisan` est une commande Laravel qui doit \u00eatre ex\u00e9cut\u00e9e en PHP. Ces commandes peuvent \u00eatre ex\u00e9cut\u00e9es en utilisant php artisan si elles sont utilis\u00e9es localement, ou .\/vendor\/bin\/sail artisan si vous utilisez Laravel Sail.<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div><h2 class=\"wp-block-heading\" id=\"an-example-stub\" style=\"font-style:normal;font-weight:400\">Un exemple de stub<\/h2><p>Puisqu&rsquo;une image vaut mille mots, utilisons un simple stub fourni avec Laravel \u00e0 titre d&rsquo;exemple. Celui-ci sert de gabarit pour fabriquer de nouveaux mod\u00e8les dans votre projet. Ce stub particulier est utilis\u00e9 lorsque vous invoquez la commande <code>artisan make:model<\/code>.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"510\" height=\"307\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/laravel-stubs-1.png\" alt=\"fichier mod&#xE8;le de stubs laravel&#10;\" class=\"wp-image-16699\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/laravel-stubs-1.png 510w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/laravel-stubs-1-300x181.png 300w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/figure><p>Comme vous pouvez le voir, la majeure partie est du PHP assez simple.<br\/>Les exceptions sont <code>{{ namespace }}<\/code> et <code>{{ class }}<\/code>. Ce sont des balises de gabarit qui seront remplac\u00e9es lorsque Laravel cr\u00e9era un nouveau fichier \u00e0 partir de votre stub.<\/p><p>Ceux d&rsquo;entre vous qui connaissent la commande <code>artisan make:model<\/code> sauront qu&rsquo;au moins un argument suppl\u00e9mentaire doit \u00eatre fourni \u00e0 la commande : le nom du mod\u00e8le !<\/p><h2 class=\"wp-block-heading\" id=\"stubs-in-action\" style=\"font-style:normal;font-weight:400\">Les stubs en action<\/h2><p>Lorsque j&rsquo;ex\u00e9cute la commande <code>artisan make:model Example<\/code>, le syst\u00e8me g\u00e9n\u00e8re le fichier suivant :<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"307\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/laravel-stubs-2.png\" alt=\"Laravel stubs\" class=\"wp-image-16702\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/laravel-stubs-2.png 548w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/laravel-stubs-2-300x168.png 300w\" sizes=\"auto, (max-width: 548px) 100vw, 548px\" \/><\/figure><p>Vous remarquerez qu&rsquo;il refl\u00e8te le fichier du stub, mais qu&rsquo;il a remplac\u00e9 les balises du gabarit pour l&rsquo; <code>namespace<\/code><\/p><p>et la <code>class<\/code>. Laravel a utilis\u00e9 les informations que nous avons fournies sur la ligne de commande pour non seulement choisir le stub appropri\u00e9, mais aussi pour calculer les valeurs des balises de gabarit.<\/p><h2 class=\"wp-block-heading\" id=\"come-out-come-out-wherever-you-are\" style=\"font-style:normal;font-weight:400\">Sors, sors, o\u00f9 que tu sois !<\/h2><p>Au moment o\u00f9 nous \u00e9crivons ces lignes, Laravel est livr\u00e9 avec 43 fichiers stub individuels. Un fichier stub est utilis\u00e9 \u00e0 chaque fois qu&rsquo;une des commandes <code>artisan make<\/code> est \u00e9mise. Puisque ces fichiers sont inclus dans votre installation de Laravel, il est logique qu&rsquo;ils r\u00e9sident par d\u00e9faut dans notre dossier vendors.<\/p><p>En r\u00e8gle g\u00e9n\u00e9rale, le dossier vendors est l&rsquo;endroit o\u00f9 sont stock\u00e9es toutes tes d\u00e9pendances PHP\/Composer. Si vous utilisez un VCS (ex : Git, SVN&#8230; ) pour les fichiers de votre projet, c&rsquo;est une bonne pratique d&rsquo;exclure tout ce dossier. Les autres d\u00e9veloppeurs qui travaillent sur votre projet peuvent t\u00e9l\u00e9charger ta base de code, et simplement ex\u00e9cuter <code>composer install<\/code> pour t\u00e9l\u00e9charger toutes les m\u00eames d\u00e9pendances.<\/p><p>Ceci \u00e9tant dit, cela signifie que nous ne devrions jamais modifier ces fichiers. Pas d&rsquo;inqui\u00e9tude cependant, nous pouvons faire une copie en toute s\u00e9curit\u00e9, stocker notre copie dans un dossier modifiable, et nous assurer que les internes de Laravel utiliseront <em>notre<\/em> version personnalis\u00e9e. Pour ce faire, il suffit d&rsquo;ex\u00e9cuter la commande <code>artisan stub:publish<\/code>.<strong>*<\/strong><\/p><p>Une fois que vous avez lanc\u00e9 la commande de publication, vous remarquerez que des fichiers stub sont pr\u00e9sents dans votre dossier <code>\/stubs<\/code> (dossier qui sera automatiquement cr\u00e9\u00e9 s\u2019il n\u2019existait pas d\u00e9j\u00e0).<\/p><p>Ces fichiers peuvent \u00eatre modifi\u00e9s en toute s\u00e9curit\u00e9 et seront d\u00e9sormais utilis\u00e9s \u00e0 la place de ceux par d\u00e9faut qui se trouvaient dans votre dossier <code>\/vendor<\/code>.<\/p><p><em>Les prochaines mises \u00e0 jour majeures de Laravel peuvent contenir des modifications des fichiers stub. Cela signifie que si vous mettez \u00e0 jour votre version de Laravel apr\u00e8s avoir publi\u00e9 et modifi\u00e9 les fichiers stub (ou tout autre fichier publi\u00e9 d&rsquo;ailleurs), vous devriez envisager de republier et de r\u00e9incorporer toutes les modifications que vous auriez pu faire \u00e0 l&rsquo;origine.<\/em><\/p><h2 class=\"wp-block-heading\" id=\"so-many-stubs\" style=\"font-style:normal;font-weight:400\">Tant de stubs<\/h2><p>De nombreux stubs sont fournis avec Laravel. Il en existe pour les contr\u00f4leurs, les mod\u00e8les et d&rsquo;autres types de classes Laravel, si bien qu&rsquo;il peut \u00eatre difficile de savoir exactement quel stub est invoqu\u00e9 par quelle commande. J&rsquo;ai compil\u00e9 un tableau qui, je l&rsquo;esp\u00e8re, vous aidera :<\/p><figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th><strong>Fichier stub<\/strong><\/th><th><strong>Commande artisan make<\/strong><\/th><\/tr><tr><td>cast.inbound.stub<\/td><td><code>make:cast<\/code><\/td><\/tr><tr><td>cast.stub<\/td><td><code>make:cast<\/code><\/td><\/tr><tr><td>console.stub<\/td><td><code>make:command<\/code><\/td><\/tr><tr><td>controller.api.stub<\/td><td><code>make:controller --api<\/code><\/td><\/tr><tr><td>controller.invokable.stub<\/td><td><code>make:controller --invokable<\/code><\/td><\/tr><tr><td>controller.model.api.stub<\/td><td><code>make:controller --api --model<\/code><\/td><\/tr><tr><td>controller.model.stub<\/td><td><code>make:controller --model<\/code><\/td><\/tr><tr><td>controller.nested.api.stub<\/td><td><code>make:controller --api --parent=Parent<\/code><\/td><\/tr><tr><td>controller.nested.singleton.api.stub<\/td><td><code>make:controller --api --parent=Parent --singleton<\/code><\/td><\/tr><tr><td>controller.nested.singleton.stub<\/td><td><code>make:controller --parent=Parent --singleton<\/code><\/td><\/tr><tr><td>controller.nested.stub<\/td><td><code>make:controller --parent=Parent<\/code><\/td><\/tr><tr><td>controller.plain.stub<\/td><td><code>make:controller<\/code><\/td><\/tr><tr><td>controller.singleton.api.stub<\/td><td><code>make:controller --api --singleton<\/code><\/td><\/tr><tr><td>controller.singleton.stub<\/td><td><code>make:controller --singleton<\/code><\/td><\/tr><tr><td>controller.stub<\/td><td><code>make:controller<\/code><\/td><\/tr><tr><td>event.stub<\/td><td><code>make:event<\/code><\/td><\/tr><tr><td>factory.stub<\/td><td><code>make:factory<\/code><\/td><\/tr><tr><td>job.queued.stub<\/td><td><code>make:job --queued<\/code><\/td><\/tr><tr><td>job.stub<\/td><td><code>make:job<\/code><\/td><\/tr><tr><td>mail.stub<\/td><td><code>make:mail<\/code><\/td><\/tr><tr><td>markdown-mail.stub<\/td><td><code>make:mail --markdown<\/code><\/td><\/tr><tr><td>markdown-notification.stub<\/td><td><code>make:notification --markdown<\/code><\/td><\/tr><tr><td>middleware.stub<\/td><td><code>make:middleware<\/code><\/td><\/tr><tr><td>migration.create.stub<\/td><td><code>make:migration --create<\/code><\/td><\/tr><tr><td>migration.stub<\/td><td><code>make:migration<\/code><\/td><\/tr><tr><td>migration.update.stub<\/td><td><code>make:migration --update<\/code><\/td><\/tr><tr><td>model.pivot.stub<\/td><td><code>make:model --pivot<\/code><\/td><\/tr><tr><td>model.stub<\/td><td><code>make:model<\/code><\/td><\/tr><tr><td>notification.stub<\/td><td><code>make:notification<\/code><\/td><\/tr><tr><td>observer.plain.stub<\/td><td><code>make:observer<\/code><\/td><\/tr><tr><td>observer.stub<\/td><td><code>make:observer --plain<\/code><\/td><\/tr><tr><td>policy.plain.stub<\/td><td><code>make:policy<\/code><\/td><\/tr><tr><td>policy.stub<\/td><td><code>make:policy --plain<\/code><\/td><\/tr><tr><td>provider.stub<\/td><td><code>make:provider<\/code><\/td><\/tr><tr><td>request.stub<\/td><td><code>make:request<\/code><\/td><\/tr><tr><td>resource-collection.stub<\/td><td><code>make:resource --collection<\/code><\/td><\/tr><tr><td>resource.stub<\/td><td><code>make:resource<\/code><\/td><\/tr><tr><td>rule.stub<\/td><td><code>make:rule<\/code><\/td><\/tr><tr><td>scope.stub<\/td><td><code>make:scope<\/code><\/td><\/tr><tr><td>seeder.stub<\/td><td><code>make:seeder<\/code><\/td><\/tr><tr><td>test.stub<\/td><td><code>make:test<\/code><\/td><\/tr><tr><td>test.unit.stub<\/td><td><code>make:test --unit<\/code><\/td><\/tr><tr><td>view-component.stub<\/td><td><code>make:view-component<\/code><\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"where-to-next\" style=\"font-style:normal;font-weight:400\">Que faire ensuite ?<\/h2><p>Vous savez maintenant ce que sont les fichiers stub, comment les publier et lesquels sont utilis\u00e9s \u00e0 quelles fins, mais vous vous demandez peut-\u00eatre ce qu&rsquo;il faut faire de ces informations. Bien que je ne puisse pas vous donner de r\u00e9ponse d\u00e9finitive (puisqu&rsquo;un projet Laravel peut grandement diff\u00e9rer d&rsquo;un autre), je vais vous donner quelques sc\u00e9narios avec des stubs pour vous inspirer \u00e0 en faire bon usage.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"naming-conventions-basic\">Conventions d&rsquo;appellation (de base)<\/h3><p>Votre organisation utilise-t-elle des conventions de nommage diff\u00e9rentes de celles que Laravel utilise g\u00e9n\u00e9ralement dans sa version pr\u00eate \u00e0 l&#8217;emploi ? Si c&rsquo;est le cas, alors je vous recommande de <a href=\"https:\/\/laravel.com\/docs\/10.x\/artisan#stub-customization\" target=\"_blank\" rel=\"noreferrer noopener\">mettre \u00e0 jour vos stubs<\/a> avec vos propres conventions de nommage. Chaque fois que vos d\u00e9veloppeurs cr\u00e9eront de nouveaux fichiers, ils commenceront avec vos conventions de nommage appropri\u00e9es d\u00e9j\u00e0 en place. Si un fichier utilise d\u00e9j\u00e0 une convention de d\u00e9nomination particuli\u00e8re, alors vos d\u00e9veloppeurs seront plus susceptibles de continuer \u00e0 suivre le mouvement.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"simple-modifications-basic\">Modifications simples (de base)<\/h3><p>J&rsquo;ai travaill\u00e9 sur un certain nombre de projets Laravel qui utilisaient le trait SoftDeletes dans \u00e0 peu pr\u00e8s tous les mod\u00e8les. Il est vraiment facile d&rsquo;ajouter des suppressions douces \u00e0 vos mod\u00e8les, mais c&rsquo;est aussi quelque chose qu&rsquo;il est facile d&rsquo;oublier. Commencez-vous un nouveau projet dans lequel vous aurez besoin que les enregistrements soient supprim\u00e9s en douceur dans chaque table ? Si c&rsquo;est le cas, je vous recommande de mettre \u00e0 jour votre <code>model.stub<\/code> pour y inclure le code de base pour la suppression douce des enregistrements. Une fois que vous l\u2019aurez fait, tous les mod\u00e8les ult\u00e9rieurs cr\u00e9\u00e9s via <code>artisan make:model<\/code> seront d\u00e9j\u00e0 \u00e9quip\u00e9s pour la suppression en douceur.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"new-workflows-intermediate\">Nouveaux flux de travail (interm\u00e9diaire)<\/h3><p>Certains syst\u00e8mes sur lesquels nous avons travaill\u00e9 n\u00e9cessitent une connexion \u00e0 une API externe, et dans certains de ces cas, nous finissons par cr\u00e9er plusieurs fichiers. Chacun d&rsquo;entre eux interagissant avec une partie diff\u00e9rente de l&rsquo;API. Souvent, les fichiers s\u00e9par\u00e9s que nous cr\u00e9ons ont des points communs ; lorsque nous faisons cela, nous finissons par cr\u00e9er notre propre commande artisan, qui, lorsqu&rsquo;elle est ex\u00e9cut\u00e9e, utilise notre propre stub personnalis\u00e9. Cela permet de gagner beaucoup de temps lorsque l&rsquo;on collabore avec plusieurs d\u00e9veloppeurs. Il est g\u00e9n\u00e9ralement pr\u00e9f\u00e9rable que la personne qui conna\u00eet le flux de travail et l&rsquo;API externe soit celle qui cr\u00e9e le nouveau stub et la nouvelle commande. De cette fa\u00e7on, les autres d\u00e9veloppeurs qui ne comprennent pas encore l&rsquo;API externe ou le flux de travail peuvent utiliser le code standard d&rsquo;une mani\u00e8re famili\u00e8re avec Laravel en un rien de temps.<\/p><h3 class=\"wp-block-heading has-ast-global-color-2-color has-text-color\" id=\"overriding-artisan-make-advanced\">Remplacer Artisan Make (avanc\u00e9)<\/h3><p>Il est m\u00eame possible de remplacer ce qui se passe lorsqu&rsquo;une commande <code>artisan make<\/code> est \u00e9mise. Discuter de la fa\u00e7on de le faire d\u00e9passe le cadre de cet article, mais j\u2019aimerais vous fournir un exemple de la fa\u00e7on dont cela peut \u00eatre utilis\u00e9. Il est assez courant d&rsquo;utiliser <code>artisan make:model -a<\/code>. Cela permet de cr\u00e9er un mod\u00e8le, un contr\u00f4leur plein de ressources, une policy, quelques fichiers de request, un seeder, une factory et un script de migration de base de donn\u00e9es. Nous avons \u00e9tendu la commande pour cr\u00e9er \u00e9galement quelques fichiers Vue.js pour nous. L&rsquo;un repr\u00e9sente une vue de liste pour le nouveau mod\u00e8le, et l&rsquo;autre, une vue de d\u00e9tails. Ainsi, lorsque nous cr\u00e9ons un nouveau module pour un projet sur lequel nous travaillons, nous pouvons avoir une liste fonctionnelle (bien que simple) et une vue d\u00e9taill\u00e9e en l&rsquo;espace de quelques minutes &#8211; ce qui devient tr\u00e8s int\u00e9ressant !<\/p><h2 class=\"wp-block-heading\" id=\"wrapping-up\" style=\"font-style:normal;font-weight:400\">Pour conclure<\/h2><p>J&rsquo;esp\u00e8re que vous avez une meilleure compr\u00e9hension de ce que sont les Stubs et des am\u00e9liorations qu&rsquo;ils peuvent vous apporter \u00e0 vous et votre \u00e9quipe. Faites-nous savoir comment vous les utilisez dans votre projet et quel impact ils ont eu sur votre organisation.<\/p><h6 class=\"wp-block-heading\" id=\"artisan-is-a-laravel-command-that-needs-to-be-executed-through-php-these-commands-can-be-run-using-php-artisan-if-being-used-locally-or-vendor-bin-sail-artisan-if-youre-using-laravel-sail\"><strong>*<\/strong>`artisan` est une commande Laravel qui doit \u00eatre ex\u00e9cut\u00e9e en PHP. Ces commandes peuvent \u00eatre ex\u00e9cut\u00e9es en utilisant <code>php artisan<\/code> si elles sont utilis\u00e9es localement, ou <code>.\/vendor\/bin\/sail artisan<\/code> si vous utilisez Laravel Sail.<\/h6>","protected":false},"excerpt":{"rendered":"<p>Les stubs sont des mod\u00e8les de classe fournis avec Laravel. Ils sont utilis\u00e9s en coulisses chaque fois que vous cr\u00e9ez de nouveaux fichiers dans votre projet. Les stubs sont cach\u00e9s par d\u00e9faut, et je ne pense pas qu&rsquo;ils soient suffisamment appr\u00e9ci\u00e9s. Il y a de fortes chances que si vous avez travaill\u00e9 avec Laravel, vous &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.directimpactsolutions.com\/fr\/laravel-stubs\/\"> <span class=\"screen-reader-text\">Laravel Stubs<\/span> Lire la suite >><\/a><\/p>\n","protected":false},"author":7,"featured_media":16706,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","footnotes":""},"categories":[37],"tags":[],"class_list":["post-16762","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web"],"uagb_featured_image_src":{"full":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS.png",500,300,false],"thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS-150x150.png",150,150,true],"medium":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS-300x180.png",300,180,true],"medium_large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS.png",500,300,false],"large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS.png",500,300,false],"1536x1536":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS.png",500,300,false],"2048x2048":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS.png",500,300,false],"woocommerce_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS-300x300.png",300,300,true],"woocommerce_single":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS.png",500,300,false],"woocommerce_gallery_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2024\/02\/LARAVEL-STUBS-100x100.png",100,100,true]},"uagb_author_info":{"display_name":"Matt Leering","author_link":"https:\/\/www.directimpactsolutions.com\/fr\/author\/matt-leering\/"},"uagb_comment_info":0,"uagb_excerpt":"Les stubs sont des mod\u00e8les de classe fournis avec Laravel. Ils sont utilis\u00e9s en coulisses chaque fois que vous cr\u00e9ez de nouveaux fichiers dans votre projet. Les stubs sont cach\u00e9s par d\u00e9faut, et je ne pense pas qu&rsquo;ils soient suffisamment appr\u00e9ci\u00e9s. Il y a de fortes chances que si vous avez travaill\u00e9 avec Laravel, vous\u2026","_links":{"self":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/16762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/comments?post=16762"}],"version-history":[{"count":5,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/16762\/revisions"}],"predecessor-version":[{"id":20058,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/16762\/revisions\/20058"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/media\/16706"}],"wp:attachment":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=16762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/categories?post=16762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/tags?post=16762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}