{"id":28295,"date":"2021-05-24T18:26:00","date_gmt":"2021-05-24T15:26:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28295"},"modified":"2021-10-17T16:46:51","modified_gmt":"2021-10-17T13:46:51","slug":"como-usar-laravel-tinker","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-usar-laravel-tinker\/","title":{"rendered":"C\u00f3mo usar Laravel Tinker"},"content":{"rendered":"<p>\u00bfQuieres saber c\u00f3mo usar Laravel Tinker? Usando Tinker puedes interactuar con tu aplicaci\u00f3n Laravel a trav\u00e9s de la l\u00ednea de comando. Laravel Tinker funciona con el paquete <a href=\"https:\/\/github.com\/bobthecow\/psysh\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PsySH<\/a>. En este art\u00edculo, te muestro c\u00f3mo usar Laravel Tinker.<\/p>\n<p>Laravel es uno de los frameworks m\u00e1s populares que est\u00e1 construido en PHP. Si le gusta un c\u00f3digo limpio y ordenado, Laravel deber\u00eda ser su elecci\u00f3n para crear una aplicaci\u00f3n web. Viene con fant\u00e1sticas funciones integradas como <a href=\"https:\/\/themewp.inform.click\/es\/como-ejecutar-comandos-artesanales-de-laravel-en-texto-sublime\/\" title=\"comandos Artisan\">comandos Artisan<\/a>, Eloquent ORM, Broadcasting, etc. Tinker es tambi\u00e9n una de las funciones \u00fatiles incluidas en el n\u00facleo de Laravel.<\/p>\n<p>Tinker es un REPL (bucle de lectura-evaluaci\u00f3n-impresi\u00f3n). REPL permite a los usuarios interactuar con la aplicaci\u00f3n a trav\u00e9s de la l\u00ednea de comandos. Se usa com\u00fanmente para la interacci\u00f3n con Eloquent ORM, trabajos, eventos y m\u00e1s.<\/p>\n<h3>\u00bfPor qu\u00e9 es necesario usar Tinker en Laravel?<\/h3>\n<p>Hay varios escenarios en los que un usuario puede usar un Tinker. Por ejemplo, necesita agregar registros en su base de datos y no tiene acceso a ellos. En tal caso, puede interactuar con la base de datos a trav\u00e9s de Tinker. Incluso puede actualizar, eliminar registros en la base de datos.<\/p>\n<p>Tinker te permite escribir c\u00f3digo PHP en la l\u00ednea de comandos.<\/p>\n<h3>C\u00f3mo usar Laravel Tinker<\/h3>\n<p>Cuando <a href=\"https:\/\/themewp.inform.click\/es\/como-instalar-laravel-el-marco-php\/\" title=\"instalas Laravel\">instalas Laravel<\/a>, tienes Tinker por defecto. Los usuarios no necesitan instalar Tinker por separado. Sin embargo, puede instalarlo manualmente si es necesario usando el comando:<\/p>\n<pre><code>composer require laravel\/tinker<\/code><\/pre>\n<p>Para demostrar el uso de Tinker, supongamos que tiene una tabla de &#8216;productos&#8217; en la base de datos. Esta tabla contiene el nombre de las columnas, descripci\u00f3n, 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=\"C\u00f3mo usar Laravel Tinker\" ><\/a><\/p>\n<p>Ahora vamos a insertar una fila en la tabla de &#8216;productos&#8217; usando Laravel Tinker.<\/p>\n<p>Abra el s\u00edmbolo del sistema en el directorio ra\u00edz de su proyecto de Laravel. Primero, cree un modelo que interact\u00fae con los &#8216;productos&#8217; de la mesa.<\/p>\n<pre><code>php artisan make:model Product<\/code><\/pre>\n<p>Este comando crea un modelo <code>Product.php<\/code>en el directorio &#8216;aplicaci\u00f3n&#8217;.<\/p>\n<p>A continuaci\u00f3n, para ingresar al modo Tinker, ejecute el siguiente comando.<\/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=\"C\u00f3mo usar Laravel Tinker\" ><\/a><\/p>\n<p>Usar\u00e9 el ORM de Eloquent para insertar una fila en la tabla de &#8216;productos&#8217;. Entonces mi c\u00f3digo ser\u00e1 el siguiente en la l\u00ednea 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=\"C\u00f3mo usar Laravel Tinker\" ><\/a><\/p>\n<p>Los comandos anteriores insertar\u00e1n una nueva fila en la tabla &#8216;productos&#8217;.<\/p>\n<p>El usuario puede eliminar el registro usando el siguiente c\u00f3digo en una l\u00ednea 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=\"C\u00f3mo usar Laravel Tinker\" ><\/a><\/p>\n<p>Nota: Para salir del Tinker, escriba &#8216;Salir&#8217; y presione Entrar.<\/p>\n<p>Tambi\u00e9n puede llamar a las funciones del controlador a trav\u00e9s de Tinker. Digamos que tiene los siguientes m\u00e9todos en el <code>ProductController.php<\/code>archivo.<\/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>Ahora, para llamar a estos m\u00e9todos, escriba el siguiente c\u00f3digo en 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 entiendas los conceptos b\u00e1sicos del uso de un Tinker en Laravel. Me gustar\u00eda escuchar sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-crear-un-blog-con-laravel\/\" title=\"C\u00f3mo crear un blog con Laravel\">C\u00f3mo crear un blog con Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/copia-de-seguridad-de-la-aplicacion-laravel-en-dropbox\/\" title=\"Copia de seguridad de la aplicaci\u00f3n Laravel en Dropbox\">Copia de seguridad de la aplicaci\u00f3n Laravel en Dropbox<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-cargar-videos-en-youtube-en-la-aplicacion-laravel\/\" title=\"C\u00f3mo cargar videos en YouTube en la aplicaci\u00f3n Laravel\">C\u00f3mo cargar videos en YouTube en la aplicaci\u00f3n Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQuieres saber c\u00f3mo usar Laravel Tinker? En este art\u00edculo, le mostramos un ejemplo en tiempo real usando Laravel Tinker. Realizamos operaciones b\u00e1sicas de bases de datos mediante<\/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":[495],"tags":[849],"class_list":["post-28295","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=28295"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/22140"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}