⊗ppOpMgGNE 90 of 107 menu

Leitura de propriedades inexistentes em POO no PHP

No exemplo apresentado na lição anterior, aplicamos a mágica do método __get para capturar o acesso a propriedades privadas. Na verdade, este método também pode ser útil para capturar acessos a propriedades inexistentes.

Vejamos um exemplo prático. Suponha que temos uma classe User com nome e sobrenome, que são propriedades públicas:

<?php class User { public $surn; public $name; } ?>

Vamos fazer com que o objeto da classe se comporte como se também tivesse uma propriedade full, que retorna o nome completo do usuário. Usaremos para isso nosso método mágico __get:

<?php class User { public $surname; public $name; public $patronymic; public function __get($property) { if ($property == 'full') { return $this->surn . ' ' . $this->name; } } } ?>

Vamos testar:

<?php $user = new User; $user->surn = 'john'; $user->name = 'smit'; echo $user->full; // exibirá 'john smit' ?>

Crie uma classe Date com as propriedades públicas year, month e day. Usando a mágica, crie uma propriedade weekDay, que retornará o dia da semana correspondente à data.

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