Aula 05 Programação Orientação a objetos Criando Classes em PHP Orientação a objetos nada mais é que um paradigma de programação. Esse paradigma não é novo, desde a década de 60 já existiam linguagem que davam suporte a essa metodologia de desenvolvimento. Usamos o termo Orientação a objetos para qualquer estilo de programação que use o conceito objeto (entidade que use características e comportamentos). Programar orientado a objetos é coletar um objeto do mundo real e trazer para o mundo virtual para que sejam modelados de forma computacional. Na POO uma pessoa é um objeto, assim como cliente, aluno, funcionário, celular etc. Ao trabalharmos com Programação orientada a objetos é de extrema importância entender o conceito de Classes e Objetos. Classes As classes em Programação orientada a objetos (POO) são definições dos elementos que formam um sistema, neste caso, definições dos objetos que vão intervir em nossos programas. No php as classes são automaticamente definidas com visibilidade pública, não necessitando inserir a visibilidade antes do sufixo class. Os atributos no php admitem 3 possíveis visibilidades, são elas: public Acessível de qualquer arquivo protected Acessível em classes herdadas (herança - extends) private Acessível somente na Classe de origem. Declarando Classes e atributos
Os atributos são definidos no início da classe juntamente com o caracter $ e a visibilidade. Logo após iniciamos o construtor e métodos de acesso. Declarando métodos Em PHP, para criar um método, seja ele com ou sem retorno, utiliza-se a palavra reservada function. Método Construtor Métodos mágicos Os construtores se encarregam de resumir as ações de iniciação dos objetos. Quando instanciamos um objeto, temos que realizar vários passos em sua iniciação, por exemplo, dar valores a seus atributos e isso é o que se encarrega o construtor. Os construtores podem receber dados para iniciar os objetos como se deseja em cada caso. Construtor, trata-se de um 'método mágico' executado toda vez que o objeto é instanciado. Se o construtor não estiver definido, o construtor da classe base (se aplicável) é utilizado. Caso você esteja atribuindo valores às variáveis do objeto, você precisa do inserir variáveis entre os parentes, ou seja, argumentos. Você pode ainda utilizar o construtor da classe base junto com o construtor da classe atual. Ao definir um construtor na classe base, você pode processar trechos de código e/ou definir e passar argumentos adicionais ao construtor da classe base.
O método de acesso vem logo abaixo com algumas alterações na atribuição de variável. Observação: o uso this na frente das variáveis é extremamente importante e para concatenar a variável ao comando usamos. Funções <visibilidade> function nomefuncao ($argumento1, $argumento2) { //comandos; } Quando uma variável é declarada dentro de uma função, ela só estará disponível para o código desta mesma função, ou seja, chamamos de variável local/global.
Tipos de Dados O PHP suporta os seguintes tipos de dados: Inteiro (integer ou long): números inteiros sem a existência de ponto decimal. A diferença entre inteiros simples e long está no número de bytes utilizados para armazenar a variável. Como a escolha é feita pelo interpretador PHP de maneira transparente para o usuário, podemos afirmar que os tipos são iguais. String: textos entre aspas ou apóstrofo, ou seja, podem ser atribuídos de duas maneiras: utilizando apóstrofo ( ' ), o valor da variável será exatamente o texto contido entre o mesmo (com exceção de \\ e \) ou utilizando aspas duplas ( " ), qualquer variável ou caracter de escape será expandido antes de ser atribuído. Array: um grupo de elementos do mesmo tipo. Arrays em PHP podem ser observados como mapeamentos ou como vetores indexados. Mais precisamente, um valor do tipo array é um dicionário onde os índices são as chaves de acesso. Vale ressaltar que os índices podem ser valores de qualquer tipo e não somente inteiros. Inclusive, se os índices forem todos inteiros, estes não precisam formar um intervalo contínuo. Objeto: Um objeto pode ser inicializado utilizando o comando new para instanciar uma classe para uma variável Ponto flutuante: números reais, ou seja, que possuem um ponto decimal. Importações include(), require(), include_once(), require_once() Todo programa PHP é constituído por um conjunto de arquivos que contém códigos PHP, HTML, JS, CSS ou então, qualquer outra informação que deve ser processada no lado do servidor. O PHP disponibiliza 4 funções para importação e cada uma desempenha uma tarefa especifica. Função include(): inclui o arquivo passado como parâmetro. Se o arquivo não for encontrado, o PHP irá lançar um "warning", mas dará continuidade na execução.
Função require():importa arquivos, porém, caso o mesmo não seja encontrado, será levantado uma exceção(erro fatal) e a execução é finalizada. Quando ocorrem erros fatais todo o seu script será interrompido. Obs: O require() faz mais verificações que o método include, logo o sistema pode perder um pouco de desempenho na interpretação do código. Função include_once(): o funcionamento dessa função é igual ao da função include() porém, o arquivo só será importado caso o mesmo ainda não tenha sido. Função require_once(): o funcionamento é igual ao da função require(), porém, um arquivo só será importado caso o mesmo ainda não tenha sido. Observação: include_once() e require_once() funcionam da mesma forma que os comuns, porém o _once (que em inglês significa uma vez) é para evitar dupla chamada de um determinado arquivo. Caso você tente chamar duas vezes o mesmo arquivo o primeiro será chamado normalmente e o segundo apenas retornará false. Exemplo: Importando a classe Pessoa para testa no servidor.