{"id":27758,"date":"2021-05-24T18:13:00","date_gmt":"2021-05-24T15:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27758"},"modified":"2021-10-18T04:09:38","modified_gmt":"2021-10-18T01:09:38","slug":"como-usar-o-laravel-tinker","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-usar-o-laravel-tinker\/","title":{"rendered":"Como usar o Laravel Tinker"},"content":{"rendered":"<p>Quer saber como usar o Laravel Tinker? Usando o Tinker voc\u00ea pode interagir com seu aplicativo Laravel atrav\u00e9s da linha de comando. Laravel Tinker \u00e9 desenvolvido com o pacote <a href=\"https:\/\/github.com\/bobthecow\/psysh\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PsySH<\/a>. Neste artigo, mostrarei como usar o Laravel Tinker.<\/p>\n<p>Laravel \u00e9 um dos frameworks mais populares que s\u00e3o constru\u00eddos em PHP. Se voc\u00ea gosta de um c\u00f3digo limpo e organizado, o Laravel deve ser sua escolha para construir uma aplica\u00e7\u00e3o web. Ele vem com fant\u00e1sticos recursos integrados como <a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-executar-comandos-do-laravel-artisan-em-texto-sublime\/\" title=\"comandos Artisan\">comandos Artisan<\/a>, Eloquent ORM, Broadcasting, etc. O Tinker tamb\u00e9m \u00e9 um dos recursos \u00fateis inclu\u00eddos no n\u00facleo do Laravel.<\/p>\n<p>Tinker \u00e9 um REPL (loop de leitura-avalia\u00e7\u00e3o-impress\u00e3o). O REPL permite que os usu\u00e1rios interajam com o aplicativo por meio da linha de comando. \u00c9 comumente usado para intera\u00e7\u00e3o com o Eloquent ORM, trabalhos, eventos e muito mais.<\/p>\n<h3>Por que usar o Tinker no Laravel?<\/h3>\n<p>Existem v\u00e1rios cen\u00e1rios em que um usu\u00e1rio pode usar um Tinker. Por exemplo, voc\u00ea precisa adicionar registros em seu banco de dados e n\u00e3o tem acesso a ele. Nesse caso, voc\u00ea pode interagir com o banco de dados por meio do Tinker. Mesmo voc\u00ea pode atualizar, excluir registros no banco de dados.<\/p>\n<p>O Tinker permite que voc\u00ea escreva c\u00f3digo PHP na linha de comando.<\/p>\n<h3>Como usar o Laravel Tinker<\/h3>\n<p>Quando voc\u00ea <a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-instalar-o-laravel-the-php-framework\/\" title=\"instala o Laravel\">instala o Laravel<\/a>, voc\u00ea obt\u00e9m o Tinker por padr\u00e3o. Os usu\u00e1rios n\u00e3o precisam instalar o Tinker separadamente. No entanto, voc\u00ea pode instal\u00e1-lo manualmente, se necess\u00e1rio, usando o comando:<\/p>\n<pre><code>composer require laravel\/tinker<\/code><\/pre>\n<p>Para demonstrar o uso do Tinker, vamos supor que voc\u00ea tenha uma tabela &#8216;produtos&#8217; no banco de dados. Esta tabela cont\u00e9m o nome das colunas, descri\u00e7\u00e3o, 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=\"Como usar o Laravel Tinker\" ><\/a><\/p>\n<p>Agora vamos inserir uma linha na tabela &#8216;produtos&#8217; usando o Laravel Tinker.<\/p>\n<p>Abra o prompt de comando no diret\u00f3rio raiz do seu projeto Laravel. Primeiro, crie um modelo que interaja com os &#8216;produtos&#8217; da mesa.<\/p>\n<pre><code>php artisan make:model Product<\/code><\/pre>\n<p>Este comando cria um modelo <code>Product.php<\/code>no diret\u00f3rio &#8216;app&#8217;.<\/p>\n<p>A seguir, para entrar no modo Tinker, execute o comando abaixo.<\/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=\"Como usar o Laravel Tinker\" ><\/a><\/p>\n<p>Usarei o Eloquent ORM para inserir uma linha na tabela &#8216;produtos&#8217;. Portanto, meu c\u00f3digo ser\u00e1 o seguinte na linha de comando.<\/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=\"Como usar o Laravel Tinker\" ><\/a><\/p>\n<p>Os comandos acima ir\u00e3o inserir uma nova linha na tabela &#8216;produtos&#8217;.<\/p>\n<p>O usu\u00e1rio pode excluir o registro usando o c\u00f3digo abaixo em uma linha de comando.<\/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=\"Como usar o Laravel Tinker\" ><\/a><\/p>\n<p>Nota: Para sair do Tinker, digite &#8216;Exit&#8217; e pressione Enter.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode chamar fun\u00e7\u00f5es de controlador por meio do Tinker. Digamos que voc\u00ea tenha os m\u00e9todos abaixo no <code>ProductController.php<\/code>arquivo.<\/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>Agora, para chamar esses m\u00e9todos, escreva o c\u00f3digo abaixo no 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>Espero que voc\u00ea entenda o b\u00e1sico de como usar um Tinker no Laravel. Eu gostaria de ouvir seus pensamentos e sugest\u00f5es na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-criar-um-blog-com-o-laravel\/\" title=\"Como criar um blog com o Laravel\">Como criar um blog com o Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/faca-backup-do-aplicativo-laravel-no-dropbox\/\" title=\"Fa\u00e7a backup do aplicativo Laravel no Dropbox\">Fa\u00e7a backup do aplicativo Laravel no Dropbox<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-fazer-upload-de-video-no-youtube-no-aplicativo-laravel\/\" title=\"Como fazer upload de v\u00eddeo no YouTube no aplicativo Laravel\">Como fazer upload de v\u00eddeo no YouTube no aplicativo Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quer saber como usar o Laravel Tinker? Neste artigo, mostramos um exemplo em tempo real usando o Laravel Tinker. Realizamos opera\u00e7\u00f5es b\u00e1sicas de banco de dados por meio de<\/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":[502],"tags":[848],"class_list":["post-27758","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27758"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27758\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/22140"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}