Introdução a classes em PHP
Hoje gostaria de fazer uma breve introdução classes de PHP, um assunto indispensável 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 simplesmente exibe a propriedade nome do objeto. Você deve ter achado meio estranha a variável $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 precisamos 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 instanciamos 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 compartilham um conjunto de atributos mas os valores de cada atributo pode ser diferente para cada objeto instanciado.
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 construtor pode ter argumentos como podemos ver a seguir:
function __construct(){
$this->nome = "Rodrigo";
}
function __construct($nome){
$this->nome = $nome;
}
Interessante não! Agora podemos construir 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 inclui-los no script que irá utilizá-los com a função
require('nomedoarquivo.php');
Isto fará com que tudo fique bem mais organizado!
Bom foi isso, esta foi uma pequeno 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á).