0

Orientação a Objetos em PHP

phpAbstração

Abstrair, significa separar mentalmente, considerar isoladamente, simplificar. Para a construção de sistemas Orientados a Objetos, jamais devemos projetar um sistema como sendo uma peça única, devemos separa-los em partes, concentrando nos detalhes mais importantes e ignorando os detalhes de implementação em um primeiro momento, para podermos construir um sistema em partes muito bem definidas que possam posteriormente ser reaproveitadas.

Classes Abstratas

Utilizando o conceito de abstração, construiremos classes estruturais na hierarquia de nosso projeto para servirem de bases para outras. As classes abstratas são classes que nunca serão instanciadas na forma de objetos. Para a definição de uma classe abstrata fazemos o uso do operador ABSTRACT no início da declaração da classe.

Exemplo:

Classes Finais

As classes finais são classes que não podem ser especializadas, ou seja, uma classe final nunca poderá ser uma superclasse. Para a definição de uma classe final fazemos o uso do operador FINAL no início da declaração da classe.

Exemplo:

Métodos Abstratos

Um método abstrato é um método que não possui implementação na classe a qual foi definido, o detalhe de implementação fica a cargo da subclasse. A classe que possui pelo menos um método abstrato não pode ser instanciada e também deve ser definida como abstrata. Um método abstrato em si consiste na definição da assinatura na classe abstrata. Para a definição de um método abstrato fazemos o uso do operador ABSTRACT no início do método.

Exemplo:

Métodos Finais

Um método final não pode ser sobrescrito, ou seja, não pode ser redefinido em uma subclasse. Para definição de um método final faremos uso do operador FINAL no inicio da declaração do método.

0

Orientação a Objetos em PHP

phpPolimorfismo

Em programação orientada a objetos polimorfismo é o principio que permite que classes derivadas de uma mesma superclasse tenham métodos iguais, ou seja, com a mesma nomenclatura e parâmetros, mas comportamentos diferentes.

Polimorfismo significa ter ‘muitas formas’, que significa um único nome representando um código diferente, selecionado por algum mecanismo automático. “Um nome, vários comportamentos”.

Exemplo:

Testando o Exemplo:

 

0

Orientação a Objetos em PHP

php

Herança

Na Orientação a Objetos a Herança define um relacionamento entre classes, no qual uma classe compartilha sua estrutura e comportamentos com outras classes. Uma classe que herda as características de outra é chamada de subclasse, e a classe que fornece as características é chamada de superclasse. As heranças são definidas através de um mecanismo chamando Generalização / Especialização, onde generalização é representação da superclasse para a subclasse, e especialização é representação da subclasse para a superclasse. A Herança é estabelecida quando estabelecemos um relacionamento de Especialização de uma classe.

Uma Especialização repassa para uma subclasse todos os atributos e métodos definidos em uma superclasse.

O diagrama abaixo demonstrado um caso de Herança:

herança

O Veículo é uma Generalização de Carro e Moto.

Carro e Moto são Especializações de Veículo.

Para representar o relacionamento de herança em PHP, devemos seguir a sintaxe abaixo:

Sintaxe:

Exemplo:

 

0

Enviando Emails com PHPMailer e Gmail

images (3)Enviando Emails com PHPMailer e Gmail

Recentemente implementei um módulo de envio de emails em uma aplicação que gerencio e para agilizar e facilitar a implementação do módulo fiz uso do PHPMailer. O PHPMailer é uma classe pronta para envio de e-mails através do PHP via conexão SMTP. Através do uso desta classe podemos implementar uma forma segura de envio de emails. A implementação se torna bem simples quando utilizamos o PHPMailer e pessoalmente acho bem mais segura do que usar a função mail() do PHP.

Antes de começar devemos realizar os seguintes passo:

1- Configurar o php.ini para aceitar a conexão SSL, basta inserir a linha abaixo no arquivo php.ini do seu compilador php.

 2 – Fazer o download do framework do PHPMailer no caminho abaixo:

Link do Google Code: https://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list

Após realizar o download extrair os arquivos em uma pasta com o nome phpmailer no mesmo diretório onde você implementará o script de envio de e-mail.

Feito assim os passos 1 e 2 vamos para a implementação do módulo de envio de e-mail. Primeiramente vamos montar um formulário simples para enviar as mensagens.

formEmail

Segue a implementação do Formulário:

Salve o mesmo com o nome formemail.php. O mesmo manda uma requisição para o script enviaremail.php que será responsável por fazer o envio do e-mail. Segue a implementação do script enviaremail.php.

Nas linhas 15 e 16 deverão ser informados o usuário e senha de uma conta válida de e-mail para envio, realizei o teste com uma conta Gmail e obtive sucesso. Pode ser que ao testar com outros servidores de e-mail a forma de autenticação possa ser diferente assim como a porta e o protocolo utilizado pelo mesmo. Por fim segue uma página de sucesso que será exibida em caso de sucesso ao enviar o e-mail.

Espero ter ajudado em seus estudos ou pesquisa.

0

Gerando XML com DOM e PHP

imagesGerando XML com DOM e PHP

O modelo DOM (Document Object Model)  representa  um documento XML em uma estrutura em árvore carregada na memória. Portanto as definições das interfaces DOM descrevem os meios de acessarmos está estrutura em árvore. O DOM (Document Object Model) foi definido pelo W3C como um conjunto de interfaces que facilitam no acesso e manipulação de documentos XML. Para gerarmos uma estrutura que obedeça o padrão DOM para documentos XML utilizando o php usando a classe DOMDocument(), a partir desta classe podemos criar nossos elementos xml, inserir atributos, valores e assim formatar documentos.

Segue um exemplo básico que criei utilizando DOMDocument() do php para gerar um arquivo xml. Segue o código com os devidos comentários:

 Estrutura Gerada pelo Script:

 

0

Trabalhando com datas em PHP

phpTrabalhando com datas em PHP

Um dos grandes problemas na hora de controlar rotinas através do uso de datas e horas é a conversão e formato das mesmas, seguem uns exemplos de como trabalhar com datas e horas no php. Atualmente controlo um sistema que trabalha demais com data e hora e tive estudando um pouco como trabalhar com data e hora nos meus scripts, seguem algumas formas de uso de conversão de formatos através da função date_format().

Exemplo 1: Usando o date_format() recuperando a data do Banco

 Exemplo 2: Trabalhando com Timezone de determinada região.

Espero que ajude em seus estudos.

 

0

Tratando UTF-8 com PHP

phpTratando UTF-8 com PHP

Ao fazer uploads de arquivos em seu servidor web notou que o os caracteres especiais e acentuação de sua página não ficaram da forma adequada, podemos evitar esses deslises com com as boas práticas a seguir:

Tratando conteúdos da página PHP

Para controlar caracteres especiais em páginas php devemos definir na  função de configuração init_set().

 Tratando dados do MySQL

Para controlar caracteres especiais gerados por conteúdo vindo de um banco de dados MySQL.

Tratando conteúdo HTML

Para controlar caracteres especias em páginas HTML basta adicionar a tag <meta> com charset=UTF-8.

0

Orientação a Objetos em PHP

phpMétodos Construtores e Destrutores

Os métodos construtores e destrutores são métodos especiais de grande importância para uma classe. Um método construtor é um método utilizado para definir o comportamento inicial de um objeto, sendo assim o mesmo define o comportamento do objeto no momento de sua criação. O método construtor é executado no momento em que instanciamos um objeto através do uso do operador new. Caso não seja definido um método construtor em sua classe de domínio, todas as propriedades do mesmo são inicializadas com o valor NULL.

Para definir um método construtor em sua classe de domínio basta fazer o uso do método __construct( ).

Exemplo:

O método destrutor é um método executado quando objeto é desalocado da memória, quando atribuirmos o valor Null ao objeto, quando usamos a função unset() sobre o mesmo ou quando o programa é finalizado. Além de tais aplicações o mesmo pode ser utilizado para finalizar conexões, apagar arquivos temporários criados durante o uso do objeto.

Para definir um um método destrutor basta fazer uso do método __destruct( ).

Exemplo:

 

0

Orientação a Objetos em PHP

phpMétodos e Objetos

Métodos

Um método é uma função definida dentro do escopo de uma classe. No PHP usamos a palavra reservada function para definir um método dentro do escopo de uma classe. Todos os métodos devem ficar dentro do escopo da classe { }. Os métodos também podem ser entendidos como funções que realizam tarefas com atributos de uma classe. Usando métodos podemos alterar o comportamento de um Objeto.

Sintaxe:

Objetos

Um objeto contém exatamente a mesma estrutura de uma classe, mantendo assim as suas propriedades. Porém a sua estrutura é dinâmica e seus atributos podem mudar de valor durante a execução do programa. Podemos declarar diversos objetos de uma mesma classe. Baseando-se na classe Pessoa criada no exemplo do capitulo anterior, criaremos um objeto para demonstrar as características de tal classe. Um objeto é composto de atributos e métodos.

Sintaxe:

Exemplo: ( Salve o exemplo com o nome: exibirdados.php )

O exemplo a seguir é baseado nos atributos da classe Pessoa da postagem anterior.

 

0

Orientação a Objetos em PHP

phpClasses

Uma classe é uma estrutura estática usada para descrever objetos através de seus atributos (propriedades) e métodos (funcionalidades). A classe é um molde ou template para a criação desses objetos. Uma classe pode representar as entidades negócio de uma aplicação (pessoa, cliente, conta, veiculo), entidades de conexão (conexão com o banco de dados, arquivos texto, arquivos XML, etc), entidades de interface (janelas, botões, painel, frames, barras). Uma classe é uma estrutura que define um tipo de dados, podendo ter atributos (variáveis) e funções (métodos).

Sintaxe:

Para criarmos uma classe utilizamos o operador class antes do nome da mesma, e o operador var antes do nome de seus atributos.
O escopo da classe é definido por: { }. Toda implementação, atributos e métodos deve ficar dentro das chaves da classe.

Exemplo: ( Salve o exemplo com o nome: Pessoa.class )

 

Além da criação de atributos uma classe também pode possuir métodos, que podem representar alguma regra de negócio, como por exemplo, exibir os dados de uma Pessoa, descontar o preço de um produto, etc.

Exemplo: ( Salve o exemplo com o nome: Pessoa.class )

Os membros de uma classe devem ser declarados da seguinte ordem: primeiro os atributos junto ao operador var e em seguida os métodos junto ao operador function.