{"id":1641,"date":"2019-05-27T17:16:18","date_gmt":"2019-05-27T16:16:18","guid":{"rendered":"https:\/\/www.kumbiaphp.com\/blog\/?p=1641"},"modified":"2019-05-27T20:25:37","modified_gmt":"2019-05-27T19:25:37","slug":"formularios-a-base-de-datos-facilmente-1-linea-de-codigo","status":"publish","type":"post","link":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/","title":{"rendered":"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y la intenci\u00f3n es aprovechar al m\u00e1ximo las bondades que ofrece el framework. En este sentido tenemos la <strong>Autocarga de objeto<\/strong>, la cual, como su nombre indica asocia un campo de formulario a una tabla y campo de la base de datos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DDL y modelo para la tabla<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos la estructura de la tabla <em>user <\/em>que hemos visto en ejemplos anteriores:<\/p>\n\n\n\n<pre class=\"wp-block-code language-sql\"><code class=\"\" data-line=\"\">CREATE TABLE `user` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n `name` varchar(255) NOT NULL,\n `age` int(11) NOT NULL DEFAULT &#039;0&#039;,\n `email` varchar(255) NOT NULL, \n PRIMARY KEY (`id`)\n) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y el modelo para este caso lo haremos heredar de la clase <a href=\"https:\/\/github.com\/KumbiaPHP\/Documentation\/blob\/master\/es\/active-record.md\">ActiveRecord<\/a> y lo ubicamos en <em>default\/app\/models\/user.php<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code class=\"\" data-line=\"\">&lt;?php\n\nclass User extends ActiveRecord\n{\n    \n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Implementaci\u00f3n de la autocarga de objeto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">KumbiaPHP implementa la&nbsp;<strong>Autocarga de objeto<\/strong> la cual, siguiendo una convenci\u00f3n m\u00ednima <strong>modelo.campo<\/strong> donde para el ejemplo el modelo es <em>user<\/em>, es decir existe una tabla llamada <em>user<\/em> en la base de datos y <em>campo<\/em> ser\u00e1n cada una de las columnas de esa tabla (id, name, age, email).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En concordancia con las columnas de la tabla <em>use<\/em>r se indica el comportamiento de la <em>Autocarga de objeto<\/em> para que el controller no tenga que recoger uno a uno los valores enviado por POST.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para este caso usaremos el helper <a href=\"https:\/\/github.com\/KumbiaPHP\/Documentation\/blob\/master\/es\/view.md#clase-form\"><em>Form<\/em><\/a>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Archivo: <em>default\/app\/views\/user\/create.phtml<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code class=\"\" data-line=\"\">&lt;?php View::content() ?&gt;\n\n&lt;?= Form::open() ?&gt;\n&lt;?= Form::text(&#039;user.name&#039;) ?&gt; \n&lt;?= Form::email(&#039;user.email&#039;) ?&gt;\n&lt;?= Form::number(&#039;user.age&#039;) ?&gt;\n&lt;?= Form::submit(&#039;Guardar&#039;) ?&gt;\n&lt;?= Form::close() ?&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Autom\u00e1ticamente cuando esos valores vayan a la url \/<em>user\/create<\/em> KumbiaPHP interpreta que existe una tabla <em>user<\/em> con los campos <em>name, email<\/em> y<em> age.<br>\n<\/em><\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Aplicando autocarga en el controlador<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora vemos el c\u00f3digo que se utiliza en <em>controllers\/user_controller.php<\/em> en su acci\u00f3n <em>create()<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Archivo: <em>default\/app\/controllers\/user_controller.php<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code class=\"\" data-line=\"\">&lt;?php \n\/**\n * Controlador para las acciones y vistas con el usuario \n *\/ \nclass UserController extends AppController\n{ \n\n    public function index()\n    {\n        \/\/ Se debe implementar la funci\u00f3n de listar\n    }\n\n    public function create()\n    {\n        \/\/se verifica si se ha enviado via POST los datos\n        if ( ! Input::hasPost(&#039;user&#039;)) {\n            return;\n        }\n            \n        \/\/Intenta guardar el usuario\n        if ((new User)-&gt;create(Input::post(&#039;user&#039;))) {\n            \/\/Mensaje de \u00e9xito \n            Flash::valid(&#039;Usuario creado&#039;);\n            \/\/Elimina los datos del POST, muestra limpio el formulario\n            Input::delete();\n            return;\n        }\n        \/\/Mensaje de fallo \n        Flash::error(&#039;Fall\u00f3 al intentar crear el usuario&#039;);\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si probamos el formulario y por alguna raz\u00f3n falla al guardar, autom\u00e1ticamente mostrar\u00e1 el formulario con los datos que se intentaron guardar, sin que debamos estar verificando si hay datos en el POST y si los hubiera indicarle al input el value, ya que el helper Form lo hace por nosotros.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"922\" height=\"825\" src=\"https:\/\/www.kumbiaphp.com\/blog\/wp-content\/uploads\/2018\/12\/fomurlario-con-autocarga-de-objeto.png\" alt=\"\" class=\"wp-image-2059\" srcset=\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2018\/12\/fomurlario-con-autocarga-de-objeto.png 922w, https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2018\/12\/fomurlario-con-autocarga-de-objeto-300x268.png 300w, https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2018\/12\/fomurlario-con-autocarga-de-objeto-768x687.png 768w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Con esto se ahorra mucho trabajo y le sacamos el m\u00e1ximo provecho a KumbiaPHP Framework.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Acceder a un campo del formulario enviado mediante POST<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A veces nos consultan como se accede a un campo espec\u00edfico del formulario que viene en el POST en el controlador, y es muy sencillo veamos qu\u00e9 valor trae <em>Input::post(&#8216;user&#8217;):<\/em><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">array(3) {\n  ['name']=&gt;\n  string(8) \"John Doe\"\n  ['email']=&gt;\n  string(12) \"jd@email.com\"\n  ['age]=&gt;\n  int(30)\n}\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Como pueden ver al hacer un <a href=\"http:\/\/php.net\/manual\/en\/function.var-dump.php\">var_dump()<\/a> de la variable nos muestra que es un simple arreglo por lo tanto la manera de acceder es la siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code class=\"\" data-line=\"\">$name = Input::post(&#039;user.name&#039;);\n\/\/ or\n$name = Input::post(&#039;user&#039;)[&#039;name&#039;];<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Son casos especiales y lo mejor es que aprovechen al m\u00e1ximo la autocarga.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Error com\u00fan de novatos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Es com\u00fan ver en quienes inician con KumbiaPHP cometer varios errores y uno de ellos es crear el objeto o registro campo por campo. Lo vemos mejor en el siguiente c\u00f3digo de la funci\u00f3n <em>create()<\/em> del controlador <em>UserController<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code class=\"\" data-line=\"\">public function create()\n{\n    \/\/se verifica si se ha enviado via POST los datos\n    if (Input::hasPost(&#039;user&#039;)) {\n        $data = Input::post(&#039;user&#039;);\n        \/\/C\u00f3digo incorrecto: Obtener del POST el valor de\n        \/\/cada input y asignarlo uno a uno al objeto.\n        $user = new User();\n        $user-&gt;name = $data[&#039;name&#039;];\n        $user-&gt;email = $data[&#039;email&#039;];\n        $user-&gt;age = $data[&#039;age&#039;];\n        \/\/Intenta guardar el usuario\n        if ($user-&gt;create()) {\n            \/\/Mensaje de \u00e9xito\n            Flash::valid(&#039;Usuario creado&#039;);\n            \/\/Elimina los datos del POST, muestra limpio el formulario\n            Input::delete();\n            return;\n        }\n        \/\/Mensaje de fallo\n        Flash::error(&#039;Fall\u00f3 al intentar crear el usuario&#039;);\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Funciona si, pero como pueden notar, se agregaron para este caso cinco l\u00edneas de c\u00f3digo innecesarias. Ahora imaginen que no son tres campos en el formulario, si no que son diez, veinte o m\u00e1s campos por formulario. Ahora multipliquemos eso por el n\u00famero de formularios de toda la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El c\u00f3digo creado ser\u00eda muy extenso y se convierte en dif\u00edcil de leer y mantener.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Espero que les sea de utilidad este art\u00edculo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PD: Agradecimientos a&nbsp;<span class=\"tadv-format-panel author\"><a href=\"\/blog\/author\/deivinson\/\">Deivinson Tejeda<\/a><\/span> por el borrador de este art\u00edculo.<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y la intenci\u00f3n es&hellip;<\/p>\n","protected":false},"author":11,"featured_media":2109,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[8,1],"tags":[36],"class_list":["post-1641","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-documentacion","category-php","tag-ejemplos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo - KumbiaPHP Framework PHP en espa\u00f1ol<\/title>\n<meta name=\"description\" content=\"En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y en este sentido tenemos la Autocarga de objeto.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo - KumbiaPHP Framework PHP en espa\u00f1ol\" \/>\n<meta property=\"og:description\" content=\"En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y en este sentido tenemos la Autocarga de objeto.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/\" \/>\n<meta property=\"og:site_name\" content=\"KumbiaPHP Framework PHP en espa\u00f1ol\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kumbia.fw\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-27T16:16:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-27T19:25:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1009\" \/>\n\t<meta property=\"og:image:height\" content=\"655\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"HenryStivens\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@henrystivens\" \/>\n<meta name=\"twitter:site\" content=\"@kumbiaphp\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"HenryStivens\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/\"},\"author\":{\"name\":\"HenryStivens\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#\/schema\/person\/b6f7cc13b1eaec9ae9e243b4385fc321\"},\"headline\":\"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo\",\"datePublished\":\"2019-05-27T16:16:18+00:00\",\"dateModified\":\"2019-05-27T19:25:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/\"},\"wordCount\":571,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png\",\"keywords\":[\"ejemplos\"],\"articleSection\":[\"Documentaci\u00f3n\",\"PHP\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/\",\"url\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/\",\"name\":\"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo - KumbiaPHP Framework PHP en espa\u00f1ol\",\"isPartOf\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png\",\"datePublished\":\"2019-05-27T16:16:18+00:00\",\"dateModified\":\"2019-05-27T19:25:37+00:00\",\"description\":\"En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y en este sentido tenemos la Autocarga de objeto.\",\"breadcrumb\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage\",\"url\":\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png\",\"contentUrl\":\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png\",\"width\":1009,\"height\":655},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/kumbiaphp.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#website\",\"url\":\"https:\/\/kumbiaphp.com\/blog\/\",\"name\":\"KumbiaPHP Framework PHP en espa\u00f1ol\",\"description\":\"Web &amp; app MVC PHP framework\",\"publisher\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kumbiaphp.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#organization\",\"name\":\"KumbiaPHP Framework PHP en espa\u00f1ol\",\"url\":\"https:\/\/kumbiaphp.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2015\/02\/logo.png\",\"contentUrl\":\"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2015\/02\/logo.png\",\"width\":432,\"height\":50,\"caption\":\"KumbiaPHP Framework PHP en espa\u00f1ol\"},\"image\":{\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kumbia.fw\",\"https:\/\/x.com\/kumbiaphp\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kumbiaphp.com\/blog\/#\/schema\/person\/b6f7cc13b1eaec9ae9e243b4385fc321\",\"name\":\"HenryStivens\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/b72eb6560d7b6068354db3428a9585f4c18759e8a799af6f27a508078457e256?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b72eb6560d7b6068354db3428a9585f4c18759e8a799af6f27a508078457e256?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b72eb6560d7b6068354db3428a9585f4c18759e8a799af6f27a508078457e256?s=96&d=mm&r=g\",\"caption\":\"HenryStivens\"},\"description\":\"Dedicated to building robust, user-centered software solutions with clean, maintainable code. Passionate about innovative technology, gaming, and gourmet coffee.\",\"sameAs\":[\"https:\/\/x.com\/henrystivens\"],\"url\":\"https:\/\/kumbiaphp.com\/blog\/author\/henrystivens\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo - KumbiaPHP Framework PHP en espa\u00f1ol","description":"En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y en este sentido tenemos la Autocarga de objeto.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/","og_locale":"es_ES","og_type":"article","og_title":"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo - KumbiaPHP Framework PHP en espa\u00f1ol","og_description":"En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y en este sentido tenemos la Autocarga de objeto.","og_url":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/","og_site_name":"KumbiaPHP Framework PHP en espa\u00f1ol","article_publisher":"https:\/\/www.facebook.com\/kumbia.fw","article_published_time":"2019-05-27T16:16:18+00:00","article_modified_time":"2019-05-27T19:25:37+00:00","og_image":[{"width":1009,"height":655,"url":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png","type":"image\/png"}],"author":"HenryStivens","twitter_card":"summary_large_image","twitter_creator":"@henrystivens","twitter_site":"@kumbiaphp","twitter_misc":{"Escrito por":"HenryStivens","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#article","isPartOf":{"@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/"},"author":{"name":"HenryStivens","@id":"https:\/\/kumbiaphp.com\/blog\/#\/schema\/person\/b6f7cc13b1eaec9ae9e243b4385fc321"},"headline":"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo","datePublished":"2019-05-27T16:16:18+00:00","dateModified":"2019-05-27T19:25:37+00:00","mainEntityOfPage":{"@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/"},"wordCount":571,"commentCount":6,"publisher":{"@id":"https:\/\/kumbiaphp.com\/blog\/#organization"},"image":{"@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage"},"thumbnailUrl":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png","keywords":["ejemplos"],"articleSection":["Documentaci\u00f3n","PHP"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/","url":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/","name":"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo - KumbiaPHP Framework PHP en espa\u00f1ol","isPartOf":{"@id":"https:\/\/kumbiaphp.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage"},"image":{"@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage"},"thumbnailUrl":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png","datePublished":"2019-05-27T16:16:18+00:00","dateModified":"2019-05-27T19:25:37+00:00","description":"En KumbiaPHP existe una implementaci\u00f3n que ahorra much\u00edsimo trabajo a la hora de hacer formularios y en este sentido tenemos la Autocarga de objeto.","breadcrumb":{"@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#primaryimage","url":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png","contentUrl":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png","width":1009,"height":655},{"@type":"BreadcrumbList","@id":"https:\/\/kumbiaphp.com\/blog\/2019\/05\/27\/formularios-a-base-de-datos-facilmente-1-linea-de-codigo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/kumbiaphp.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Formularios a base de datos f\u00e1cilmente con 1 l\u00ednea de c\u00f3digo"}]},{"@type":"WebSite","@id":"https:\/\/kumbiaphp.com\/blog\/#website","url":"https:\/\/kumbiaphp.com\/blog\/","name":"KumbiaPHP Framework PHP en espa\u00f1ol","description":"Web &amp; app MVC PHP framework","publisher":{"@id":"https:\/\/kumbiaphp.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kumbiaphp.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kumbiaphp.com\/blog\/#organization","name":"KumbiaPHP Framework PHP en espa\u00f1ol","url":"https:\/\/kumbiaphp.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kumbiaphp.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2015\/02\/logo.png","contentUrl":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2015\/02\/logo.png","width":432,"height":50,"caption":"KumbiaPHP Framework PHP en espa\u00f1ol"},"image":{"@id":"https:\/\/kumbiaphp.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kumbia.fw","https:\/\/x.com\/kumbiaphp"]},{"@type":"Person","@id":"https:\/\/kumbiaphp.com\/blog\/#\/schema\/person\/b6f7cc13b1eaec9ae9e243b4385fc321","name":"HenryStivens","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/b72eb6560d7b6068354db3428a9585f4c18759e8a799af6f27a508078457e256?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b72eb6560d7b6068354db3428a9585f4c18759e8a799af6f27a508078457e256?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b72eb6560d7b6068354db3428a9585f4c18759e8a799af6f27a508078457e256?s=96&d=mm&r=g","caption":"HenryStivens"},"description":"Dedicated to building robust, user-centered software solutions with clean, maintainable code. Passionate about innovative technology, gaming, and gourmet coffee.","sameAs":["https:\/\/x.com\/henrystivens"],"url":"https:\/\/kumbiaphp.com\/blog\/author\/henrystivens\/"}]}},"jetpack_featured_media_url":"https:\/\/kumbiaphp.com\/blog\/wp-content\/uploads\/2019\/04\/formularios-a-base-de-datos.png","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/posts\/1641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/comments?post=1641"}],"version-history":[{"count":31,"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/posts\/1641\/revisions"}],"predecessor-version":[{"id":2309,"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/posts\/1641\/revisions\/2309"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/media\/2109"}],"wp:attachment":[{"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/media?parent=1641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/categories?post=1641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kumbiaphp.com\/blog\/wp-json\/wp\/v2\/tags?post=1641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}