{"id":24712,"date":"2021-05-24T18:24:00","date_gmt":"2021-05-24T15:24:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24712"},"modified":"2021-10-18T02:13:57","modified_gmt":"2021-10-17T23:13:57","slug":"comment-utiliser-laravel-tinker","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/comment-utiliser-laravel-tinker\/","title":{"rendered":"Comment utiliser Laravel Tinker"},"content":{"rendered":"<p>Vous voulez savoir comment utiliser Laravel Tinker? En utilisant Tinker, vous pouvez interagir avec votre application Laravel via la ligne de commande. Laravel Tinker est aliment\u00e9 par le package <a href=\"https:\/\/github.com\/bobthecow\/psysh\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PsySH<\/a>. Dans cet article, je vous montre comment utiliser Laravel Tinker.<\/p>\n<p>Laravel est l&rsquo;un des frameworks les plus populaires construits en PHP. Si vous aimez un code propre et soign\u00e9, Laravel devrait \u00eatre votre choix pour cr\u00e9er une application Web. Il est livr\u00e9 avec de fantastiques fonctionnalit\u00e9s int\u00e9gr\u00e9es telles que les <a href=\"https:\/\/themewp.inform.click\/fr\/comment-executer-les-commandes-laravel-artisan-dans-un-texte-sublime\/\" title=\"commandes Artisan\">commandes Artisan<\/a>, Eloquent ORM, Broadcasting, etc. Tinker est \u00e9galement l&rsquo;une des fonctionnalit\u00e9s utiles incluses dans le noyau de Laravel.<\/p>\n<p>Tinker est un REPL (boucle read-eval-print). REPL permet aux utilisateurs d&rsquo;interagir avec l&rsquo;application via la ligne de commande. Il est couramment utilis\u00e9 pour l&rsquo;interaction avec Eloquent ORM, les travaux, les \u00e9v\u00e9nements, etc.<\/p>\n<h3>Pourquoi utiliser Tinker dans Laravel ?<\/h3>\n<p>Il existe plusieurs sc\u00e9narios dans lesquels un utilisateur peut utiliser un Tinker. Par exemple, vous devez ajouter des enregistrements dans votre base de donn\u00e9es et vous n&rsquo;y avez pas acc\u00e8s. Dans un tel cas, vous pouvez interagir avec la base de donn\u00e9es via Tinker. M\u00eame vous pouvez mettre \u00e0 jour, supprimer des enregistrements dans la base de donn\u00e9es.<\/p>\n<p>Tinker vous permet d&rsquo;\u00e9crire du code PHP dans la ligne de commande.<\/p>\n<h3>Comment utiliser Laravel Tinker<\/h3>\n<p>Lorsque vous <a href=\"https:\/\/themewp.inform.click\/fr\/comment-installer-laravel-le-framework-php\/\" title=\"installez Laravel\">installez Laravel<\/a>, vous avez Tinker par d\u00e9faut. Les utilisateurs n&rsquo;ont pas besoin d&rsquo;installer Tinker s\u00e9par\u00e9ment. Cependant, vous pouvez l&rsquo;installer manuellement si besoin \u00e0 l&rsquo;aide de la commande\u00a0:<\/p>\n<pre><code>composer require laravel\/tinker<\/code><\/pre>\n<p>Pour d\u00e9montrer l&rsquo;utilisation de Tinker, supposons que vous ayez une table \u00ab\u00a0produits\u00a0\u00bb dans la base de donn\u00e9es. Ce tableau contient le nom des colonnes, la description, etc.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb90b39bb.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb90b39bb.png\" alt=\"Comment utiliser Laravel Tinker\" ><\/a><\/p>\n<p>Nous allons maintenant ins\u00e9rer une ligne dans le tableau \u00ab\u00a0produits\u00a0\u00bb \u00e0 l&rsquo;aide du Laravel Tinker.<\/p>\n<p>Ouvrez l&rsquo;invite de commande dans le r\u00e9pertoire racine de votre projet Laravel. Tout d&rsquo;abord, cr\u00e9ez un mod\u00e8le qui interagit avec la table \u00ab\u00a0produits\u00a0\u00bb.<\/p>\n<pre><code>php artisan make:model Product<\/code><\/pre>\n<p>Cette commande cr\u00e9e un mod\u00e8le <code>Product.php<\/code>sous le r\u00e9pertoire &lsquo;app&rsquo;.<\/p>\n<p>Ensuite, pour entrer dans le mode Tinker, ex\u00e9cutez la commande ci-dessous.<\/p>\n<pre><code>php artisan tinker<\/code><\/pre>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb9130db8.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb9130db8.png\" alt=\"Comment utiliser Laravel Tinker\" ><\/a><\/p>\n<p>J&rsquo;utiliserai l&rsquo;ORM Eloquent pour ins\u00e9rer une ligne dans le tableau &lsquo;produits&rsquo;. Donc mon code sera le suivant dans la ligne de commande.<\/p>\n<pre><code>$p = new AppProduct;\n$p-&gt;name = 'Test Product';\n$p-&gt;description = 'Test Product Body';\n$p-&gt;save();<\/code><\/pre>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb9130db8.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb9130db8.png\" alt=\"Comment utiliser Laravel Tinker\" ><\/a><\/p>\n<p>Les commandes ci-dessus ins\u00e9reront une nouvelle ligne dans la table \u00ab\u00a0produits\u00a0\u00bb.<\/p>\n<p>L&rsquo;utilisateur peut supprimer l&rsquo;enregistrement en utilisant le code ci-dessous dans une ligne de commande.<\/p>\n<pre><code>$p = AppProduct::find(1); \/\/here '1' is the product id\n$p-&gt;delete();<\/code><\/pre>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb9130db8.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20502-6081fb9130db8.png\" alt=\"Comment utiliser Laravel Tinker\" ><\/a><\/p>\n<p>Remarque: pour sortir du Tinker, tapez \u00ab\u00a0Exit\u00a0\u00bb et appuyez sur Entr\u00e9e.<\/p>\n<p>Vous pouvez \u00e9galement appeler les fonctions du contr\u00f4leur via Tinker. Disons que vous avez les m\u00e9thodes ci-dessous dans le <code>ProductController.php<\/code>fichier.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\n\u00a0\nclass ProductController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public function index()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return 'index';\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function show($id)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $id;\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function details($name, $id)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return 'name: '. $name .'---id: '. $id;\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Maintenant, pour appeler ces m\u00e9thodes, \u00e9crivez le code ci-dessous dans Tinker.<\/p>\n<pre><code>$controller = app()-&gt;make('AppHttpControllersProductController');\napp()-&gt;call([$controller, 'index'], []);\napp()-&gt;call([$controller, 'show'], ['id' =&gt; 123']);\napp()-&gt;call([$controller, 'details'], ['name' =&gt; 'John Doe', 'id' =&gt; '10']);<\/code><\/pre>\n<p>J&rsquo;esp\u00e8re que vous comprenez les bases de l&rsquo;utilisation d&rsquo;un Tinker dans Laravel. J&rsquo;aimerais entendre vos pens\u00e9es et suggestions dans la section des commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-creer-un-blog-avec-laravel\/\" title=\"Comment cr\u00e9er un blog avec Laravel\">Comment cr\u00e9er un blog avec Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/sauvegarder-l-application-laravel-sur-dropbox\/\" title=\"Sauvegarder l&#039;application Laravel sur Dropbox\">Sauvegarder l&rsquo;application Laravel sur Dropbox<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-telecharger-une-video-sur-youtube-dans-l-application-laravel\/\" title=\"Comment t\u00e9l\u00e9charger une vid\u00e9o sur YouTube dans l&#039;application Laravel\">Comment t\u00e9l\u00e9charger une vid\u00e9o sur YouTube dans l&rsquo;application Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous voulez savoir comment utiliser Laravel Tinker ? Dans cet article, nous vous montrons un exemple en temps r\u00e9el utilisant Laravel Tinker. Nous effectuons des op\u00e9rations de base de donn\u00e9es via<\/p>\n","protected":false},"author":1,"featured_media":22140,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[497],"tags":[844],"class_list":["post-24712","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24712"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24712\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/22140"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}