Boteco Digital

Introdução a classes em PHP

Hoje gostaria de fazer uma breve introdução classes de PHP, um assunto indispensavél para que pretende utilizar algum framework.

Uma classe nada mais é do que um definição de um objeto, uma abstração de algo real. Nesta definição indicamos o que o objeto vai ter (propriedades) e como vai se comportar(métodos). Por exemplo um usuário poderia ter como propriedade nome, idade, data de nascimento e como métodos printNome, getIdade, logar, etc.

Então vamos a um exemplo simples de classe do PHP 5.

class Usuario{
    public $nome = "Rodrigo";

    function printNome(){
        echo $this->nome;
    }
}

Como vemos na linha 1 estamos declarando uma classe de nome Usuario, esta classe contém uma propriedade $nome que nada mais é do que uma variável que pertence a classe ou seja só irá existir se a classe existir.

Na linha 4 criamos o método de nossa classe printNome() que simplismente exibe a propriedade nome do objeto. Você deve ter achado meio estranha a variábel $this usada, ela é uma variável de referência que referência a própria classe e o operador -> é utilizado para acessar uma variável ou método do objeto.

Agora que já temos a classe vamos utilizá-la, para isso precissamos instância-la, ou seja criar um objeto propriamente dito.

$class1 = new Usuario();
$class1->nome = "João";
$class2 = new Usuario();
$class2->nome = "Fernanda";
$class1->printNome();
$class2->printNome();

Como pode ser visto no exemplo acima instânciamos dois objetos da classe Usuario utilizando para isso o operador new que retorna uma referência ao objeto criado.

Se você executar o exemplo acima vai notar que alteramos a propriedade nome dos objetos class1 e class2 e quando executamos o método printNome() de cada objeto ele exibe o nome que foi alterado para cada objeto, ou seja as classes compratilham um conjunto de atributos mas os valores de cada atributo pode ser diferente para cada objeto instânciado.

Você viu no exemplo anterior que utilizamos o método Usuario() para criar nosso objeto certo? Para ser mais preciso ele não é um método, é um Contrutor que é chamado quando criamos nosso objeto, ele é utilizado para inicializar o objeto quando ele é criado.

Para criar um construtor basta criar um método com o nome function __construct(){}, lembrando que como os métodos um contrutor pode ter argumentos como podemos ver a seguir:

function __construct(){
    $this->nome = "Rodrigo";
}

function __construct($nome){
    $this->nome = $nome;
}

Interessante não! Agora podemos contruir nossos objetos Usuario de duas formas.

$user1 = new Usuario();
$user2 = new Usuario("Rodrigo");

Notem que as duas formas agora são válidas, isto é chamado de sobrecarga de métodos.

Uma dica quando for trabalhar com objetos aconselho declara-los em uma arquivo PHP separado com o nome da classe e implui-los no script que irá utiliza-los com a função

require('nomedoarquivo.php');

Isto fará com que tudo fique bem mais organizado!

Bom foi isso, esta foi uma pequane introdução a orientação a objetos consiste em bem mais coisas, mais coisas podem ser aprendidas no site O Zen e a arte cavalheiresca da programação orientada a objeto e indico também o site PHPClasses que é um repositório de classes PHP(dá para achar muita coisa lá).

Tags
Categorias PHP
comments powered by Disqus