{"id":5286,"date":"2026-01-18T12:54:24","date_gmt":"2026-01-18T11:54:24","guid":{"rendered":"https:\/\/sutilweb.eu\/?page_id=5286"},"modified":"2026-01-18T12:54:25","modified_gmt":"2026-01-18T11:54:25","slug":"32-atributos-con-nombre-en-php","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/php\/php-practico\/32-atributos-con-nombre-en-php\/","title":{"rendered":"32. Atributos con nombre en PHP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En este cap\u00edtulo vamos a hablar de dos nuevas novedades de PHP 8, la primera de ellas se llama de la&nbsp;<strong>promoci\u00f3n de las propiedades del constructor<\/strong>, y la segunda tiene que ver con&nbsp;<strong>atributos con nombre<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Promoci\u00f3n de las propiedades del constructor<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nosotros en el m\u00e9todo constructor podemos ir definiendo las distintas propiedades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nclass Humano {\n  public $nombre, $apellido_materno, $apellido_paterno, $dni;\n\n  public function __construct($nombre, $apellido_materno, $apellido_paterno, $dni){\n    $this->nombre = $nombre;\n    $this->apellido_materno = $apellido_materno;\n    $this->apellido_paterno = $apellido_paterno;\n    $this->dni = $dni;\n  }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Posteriormente, cada vez que instanciemos le tendremos que pasar al objeto los valores necesarios.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Creamos el objeto $humano\n$humano = new Humano(\"Francisco\", \"Paredes\", \"Parralejo\", \"123456\");<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta PHP 7 era la \u00fanica forma que ten\u00edamos de hacerlo, pero con PHP 8 tenemos una nueva, y es que podemos definir las propiedades que tiene este objeto dentro del m\u00e9todo constructor, que a la vez que lo define lo almacena, veamos su sintaxis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n&lt;?php\n\n  class Humano {\n\n    public function __construct(public $nombre, public $apellido_materno, public $apellido_paterno, public $dni){\n    }\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  \/\/ Creamos el objeto $humano\n  $humano = new Humano(\"Francisco\", \"Paredes\", \"Parralejo\", \"123456\");\n  $humano->imprimirDatos();<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Como podemos ver, nos estamos ahorrando lineas de c\u00f3digo ya que no tendr\u00edamos que definir las propiedades fuera ni asignarlas una vez que lo almacenemos en una variable y luego lo almacen\u00e1bamos en propiedades.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 valor corresponde a qu\u00e9 propiedad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora tenemos la opci\u00f3n igualmente de pasar los valores en cualquier orden anteponiendo delante la propiedad y dos puntos, de la siguiente manera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Creamos el objeto $humano\n$humano = new Humano(nombre:\"Francisco\", apellido_paterno:\"Paredes\", apellido_materno:\"Parralejo\", dni: \"123456\");<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">De esta manera podemos pasar la informaci\u00f3n en un orden diferente al establecido en el m\u00e9todo, pero se va a asignar correctamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este cap\u00edtulo vamos a hablar de dos nuevas novedades de PHP 8, la primera de ellas se llama de la&nbsp;promoci\u00f3n de las propiedades del constructor, y la segunda tiene que ver con&nbsp;atributos con nombre. Promoci\u00f3n de las propiedades del constructor Nosotros en el m\u00e9todo constructor podemos ir definiendo las distintas propiedades. Ejm Posteriormente, cada [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4518,"menu_order":31,"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-5286","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":"En este cap\u00edtulo vamos a hablar de dos nuevas novedades de PHP 8, la primera de ellas se llama de la&nbsp;promoci\u00f3n de las propiedades del constructor, y la segunda tiene que ver con&nbsp;atributos con nombre. Promoci\u00f3n de las propiedades del constructor Nosotros en el m\u00e9todo constructor podemos ir definiendo las distintas propiedades. Ejm Posteriormente, cada&hellip;","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5286","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=5286"}],"version-history":[{"count":3,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5286\/revisions"}],"predecessor-version":[{"id":5289,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5286\/revisions\/5289"}],"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=5286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}