⊗ppOpMgTS 87 of 107 menu

Método Mágico toString em POO em PHP

O primeiro método mágico que vamos estudar chama-se __toString. Ele é chamado ao tentar converter uma instância da classe para string. Vamos entender o que isso significa. Suponha que temos a seguinte classe User:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Vamos criar um objeto desta classe:

<?php $user = new User('john', 25); ?>

Agora, vamos tentar exibir o objeto criado usando echo:

<?php $user = new User('john', 25); echo $user; ?>

Tentar exibir um objeto via echo é uma conversão para string. Neste caso, o PHP lançará um erro, pois objetos não podem ser simplesmente convertidos em string.

Para evitar o erro, precisamos explicitamente dizer ao PHP o que fazer ao tentar converter o objeto em string. É para isso que existe o método mágico __toString.

Se criarmos esse método em nosso código de classe, então o resultado desse método (ou seja, o que ele retornar via return) será a representação string do objeto.

Suponha que queremos que, ao tentar exibir o objeto via echo, seja exibido o nome do usuário. Então, vamos criar o método __toString e retornar nele o valor da propriedade name:

<?php class User { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } // Vamos implementar o método especificado: public function __toString() { return $this->name; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Vamos testar:

<?php $user = new User('john', 25); echo $user; // exibirá 'john' - está funcionando! ?>

Crie uma classe User, na qual haverá as propriedades name e surn. Faça com que, ao exibir o objeto via echo na tela, seja exibida uma string com o nome e sobrenome do usuário.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar