{"id":5266,"date":"2026-01-04T20:28:37","date_gmt":"2026-01-04T19:28:37","guid":{"rendered":"https:\/\/sutilweb.eu\/?page_id=5266"},"modified":"2026-01-04T20:28:38","modified_gmt":"2026-01-04T19:28:38","slug":"31-fluent-interface-en-php","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/php\/php-practico\/31-fluent-interface-en-php\/","title":{"rendered":"31. Fluent interface en PHP"},"content":{"rendered":"\n<p>Normalmente cuando hacemos uso de las clases seguimos la siguiente sintaxis.<\/p>\n\n\n\n<p><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\n  class Humano {\n    public $nombre, $apellido_materno, $apellido_paterno, $dni;\n\n    public function setNombre($nombre){\n      $this->nombre = $nombre;\n    }\n\n    public function setApellidos($apellido_materno, $apellido_paterno){\n      $this->apellido_materno = $apellido_materno;\n      $this->apellido_paterno = $apellido_paterno;\n    }\n\n    public function setDni($dni){\n      $this->dni = $dni;\n    }\n\n    public function imprimirDatos(){\n      echo \"Nombre: \" . $this->nombre . \"&lt;br \/>\";\n      echo \"Apellido materno: \" . $this->apellido_materno . \"&lt;br \/>\";\n      echo \"Apellido paterno: \" . $this->apellido_paterno . \"&lt;br \/>\";\n      echo \"DNI: \" . $this->dni . \"&lt;br \/>\";\n    }\n  }\n\n  $humano = new Humano;\n  $humano->setNombre(\"Francisco\");\n  $humano->setApellidos(\"Paredes\", \"Parralejo\");\n  $humano->setDni(\"dni\");\n  $humano->imprimirDatos();<\/code><\/pre>\n\n\n\n<p>Pero hay que darse cuenta cuantas veces hemos hecho referencia al objeto&nbsp;<strong><em>$humano<\/em><\/strong>. Ser\u00eda mucho m\u00e1s pr\u00e1ctico si llam\u00e1semos una \u00fanica vez al objeto <strong><em>$humano<\/em><\/strong> y luego ir pas\u00e1ndole los distintos m\u00e9todos <strong><em>(setNombre,<\/em> <em>setApellidos<\/em><\/strong>&#8230;). De hecho si se ha trabajado con algunos frameworks como <strong>Laravel,<\/strong> se llama una s\u00f3la vez al objeto y luego se van concatenando los distintos m\u00e9todos que se van utilizando.<\/p>\n\n\n\n<p>Para lograr \u00e9sto, todos los m\u00e9todos que no devuelvan valor los vamos a hacer que devuelvan un valor, que va a ser el mismo objeto, para lo cual vamos a escribir la sintaxis dentro de la funci\u00f3n <strong><em>return $this;&nbsp;<\/em><\/strong>de la siguiente manera.<\/p>\n\n\n\n<p>Una vez que ejecutemos el m\u00e9todo <strong><em>setNombre()<\/em><\/strong>, el objeto vuelve a ser $humano, por lo&nbsp;cual ya no necesitamos llamar nuevamente al objeto humano si queremos ejecutar otro m\u00e9todo como <strong><em>setApellidos()<\/em><\/strong>.<\/p>\n\n\n\n<p><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\n  class Humano {\n    public $nombre, $apellido_materno, $apellido_paterno, $dni;\n\n    public function setNombre($nombre){\n      $this->nombre = $nombre;\n      return $this;\n    }\n    \n    public function setApellidos($apellido_materno, $apellido_paterno){\n      $this->apellido_materno = $apellido_materno;\n      $this->apellido_paterno = $apellido_paterno;\n      return $this;\n    }\n    \n    public function setDni($dni){\n      $this->dni = $dni;\n      return $this;\n    }\n\n    public function imprimirDatos(){\n      echo \"Nombre: \" . $this->nombre . \"&lt;br \/>\";\n      echo \"Apellido materno: \" . $this->apellido_materno . \"&lt;br \/>\";\n      echo \"Apellido paterno: \" . $this->apellido_paterno . \"&lt;br \/>\";\n      echo \"DNI: \" . $this->dni . \"&lt;br \/>\";\n    }\n  }\n\n\n \/\/ Creamos el objeto $humano\n  $humano = new Humano;\n\n \/\/ Concateno los distintos sets\n  $humano->setNombre(\"Francisco\")\n          ->setApellidos(\"Paredes\", \"Parralejo\")\n          ->setDni(\"dni\")\n          ->imprimirDatos();<\/code><\/pre>\n\n\n\n<p>Hacer esto se ve mucho m\u00e1s limpio y vamos a tener el c\u00f3digo mucho m\u00e1s organizado.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Normalmente cuando hacemos uso de las clases seguimos la siguiente sintaxis. Ejm Pero hay que darse cuenta cuantas veces hemos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4518,"menu_order":30,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_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":"","ast-disable-related-posts":"","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":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5266","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"Normalmente cuando hacemos uso de las clases seguimos la siguiente sintaxis. Ejm Pero hay que darse cuenta cuantas veces hemos [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=5266"}],"version-history":[{"count":3,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5266\/revisions"}],"predecessor-version":[{"id":5269,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5266\/revisions\/5269"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/4518"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=5266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}