0

Gerando Web Services PHP com NuSoap

php_mini_logoGerando Web Services PHP com NuSoap

Este artigo aborda a geração de Web Services em PHP utilizado a biblioteca NuSoap. Esta biblioteca é uma alternativa ao módulo SOAP Extension, nativo do PHP e oferecer suporte à criação automática do WSDL.

Framework NuSoap disponível em: http://sourceforge.net/projects/nusoap/

Segue um exemplo de utilização do Framework.

Lado Servidor da Aplicação

  • Na linha 2 realizamos a importação da biblioteca do NuSoap;
  • Na linha 4 instanciamos uma objeto do tipo soap_server;
  • Na linha 6 configuramos a instância do documento WSDL de nossa aplicação servidora;
  • Na linha 8 definimos o Schema do documento WSDL;
  • Entre as linhas 10 a 36 registramos os métodos de nosso web service;
  • Na linha 38 definimo o uso do request para invocar o serviço;
  • Entre as linhas 40 a 54 implementamos os métodos de nosso web service.

Após a criação do objeto soap_server, geração do wsdl e registro e implementação dos métodos conseguimos gerar  web service.

serviço wsdl

Lado Cliente da Aplicação

  • Na linha 2 realizamos a importação da biblioteca do NuSoap;
  • Na linha 4 criamos um objeto Soap Client baseado no wsdl do Servidor;
  • Por fim realizamos a chamadas aos métodos e exibimos o possíveis resultados.

E com isso realizamos a publicação e consumo de um web service em PHP baseado na biblioteda NuSoap.

0

DataTables JQuery com PHP

imgresImplementando o plugin DataTables do JQuery com PHP.

Nesta postagem segue um exemplo de implementação do plugin DataTable do JQuery integrado com o PHP. O plugin DataTable é uma ótima solução na hora de exibir uma lista de informações, a mesma possibilita ao usuário uma melhor navegação e organização dos dados. Segue a implementação de uma forma simples de uso deste plugin.

Javascript

No fonte acima realizo o import do plugin dataTable e do jquery e configuro o meu dataTable para ser associado a um elemento com o id “#example”, passando para o mesmo os seguintes parâmetros: aaSorting (ordem da lista), bPaginate (exibe a paginação), bFilter (exibe o filtro), sType (idioma do plugin), aoColumns(tipo das colunas da table, neste item devem ser definidas todas as colunas).

PHP

Por fim segue a tabela com os dados paginados.

dataTable

Baixe o plugin no site oficial: https://datatables.net/

0

Urls Amigáveis e .htaccess

phpUrls Amigáveis e .htaccess

Neste tutorial segue um exemplo de configuração de Urls amigáveis através do arquivo .htaccess. Primeiramente devemos habilitar o modo de reescrita do nosso servidor apache.

O mod_rewrite é um recurso do servidor apache que faz a reescrita de uma URLs usando expressões regulares antes do arquivo ser chamado. Funciona de forma semelhante a um redirecionamento, mas sem alterar o endereço no navegador.

Para habilitar a reescrita de uma Url você deve retirar o comentário da linha #mod_rewrite; do arquivo php.ini do seu servidor Apache.

Observação: Verifique também a linha “LoadModule rewrite_module modules/mod_rewrite.so”  do seu arquivo httpd.conf não está comentada.

O arquivo .htaccess contém as regras de reescrita da URL, este arquivo deve ficar na raiz do site. Se este arquivo não existir você pode cria-lo em um aplicativo de texto comum (como o bloco de notas do Windows), enviar para o servidor e renomear.

Implementando o Arquivo .htaccess

  • Remover o .php das páginas

Ao acessar www.meusite.com.br/artigo é mesmo do que acessar www.meusite.com.br/artigo.php.

  • Não permitir acesso a diretórios

Não permite o acesso a diretórios como os diretórios de imagens, scrips, etc.

  • Páginas de Erro

Retorna páginas específicas para cada tipo de erro na requesição HTTP.

  • Redirecionamento para Script com um parâmetro GET

Ao acessar www.meusite.com.br/recuperar/olá+mundo a requisição será interpretada como www.meusite.com.br/recuperar?txtmsg=’olá mundo’.

  • Redirecionamento para Script com dois parâmetros GET

Ao acessar ‘www.meusite.com.br/recuperar/olá+mundo/php’ a requisição será interpretada como www.meusite.com.br/recuperar?txtmsg=’olá mundo’&teste=’php’.

  • Definir UTF nas páginas

Corrige os erros de caracteres especiais de uma página.

 

0

Orientação a Objetos em PHP

phpInterfaces

Uma interface é utilizada quando queremos  estabelecer alguns padrões de comportamento e funcionamento para algumas de nossas classes, principalmente implementado em poliformismo, aonde temos que garantir que as classes serão geradas estabelecendo um padrão de implementação.

A implementação de uma interface em um projeto deverá ser feita quando houver necessidade de padronização ou de garantia de um determinado comportamento em uma classe do sistema. Através de uma interface é possível controlar e utilizar uma navegação segura entre as classes, tendo certeza que determinados métodos estarão disponíveis quando necessário.

“Em uma interface não devemos implementar nenhum código ou ação, somente a assinatura dos métodos ou definição de atributos constantes.”

Sintaxe:

Para referenciar uma interface em uma classe de domínio basta usar o operador implements após no nome de classe e informar o nome da interface a ser implementada.

Exemplo Prático:

(IDao.php)

(Veiculo.class.php)

 

0

Orientação a Objetos em PHP

phpComposição

A relação de composição também aborda o relacionamento de todo/parte, na composição o objeto-pai ou “todo” é responsável pela criação e destruição de suas partes, sendo assim o objeto-pai possui as instâncias de sua parte.

 Exemplo:composicao

(Contato.class.php)

(Fornecedor.class.php)

(composicao.php)

 

0

Orientação a Objetos em PHP

phpAgregação

O relacionamento de agregação é um tipo de relação entre objetos conhecida como todo/parte, onde um objeto agrega o outro tornando um objeto externo parte de si mesmo pela utilização de seus  métodos. Desta forma um objeto-pai pode usar utilizar funcionalidades do objeto agregado.

Exemplo:

agregacao

(CarrinhoDeCompras.class.php)

(Produto.class.php)

(agregacao.php)

 

0

Orientação a Objetos em PHP

phpAssociação

A associação representa a ligação entre dois objetos de modo que um objeto posso fazer referência ao outro, podendo um objeto visualizar atributos e métodos de um outro objeto.

associacao

Exemplo:

(Produto.class.php)

(Fabricante.class.php)

(associacao.php)

 

0

Orientação a Objetos em PHP

phpMétodos Get e Set

O conceito de método Get e Set permite uma interface mais protegida dentro de uma classe de domínio, através deste uso deste conceito cada propriedade da classe de domínio possui um método Set para atribuir ou definir valor para  a referida propriedade e Get para recuperar o valor da mesma. Através deste conceito a única maneira de obter e atribuir  valor a uma propriedade é fazendo o uso dos métodos de acesso Get e Set.

Exemplo de uso:

No exemplo anterior fizemos o uso da variável $this, está variável é uma variável reservada do PHP que é utilizada para fazer referências internas as propriedades de uma classe.

Crie um script com a codificação a seguir para testar os métodos Get e Set da classe Pessoa.

 

0

Orientação a Objetos em PHP

phpEncapsulamento

O encapsulamento é um recurso da Orientação a Objetos que tem como função esconder os dados de um objeto de outros objetos, permitindo que os mesmo sejam acessados através de seus próprios métodos. Com o recurso de encapsulamento uma classe possui responsabilidades sobre os seus atributos. Uma de suas vantagens é esconder do usuário os detalhes de implementação do objeto.

Para implementar o encapsulamento em um objeto de uma classe de domínio, podemos definir visibilidade as propriedades e dos métodos deste objeto. A visibilidade define a forma que suas propriedades serão acessadas através do uso de modificadores de acessos.

Modificadores de Acesso

Os modificadores de acesso definem a visibilidade de cada propriedade ou método de um objeto. A visibilidade de uma propriedade pode ser: public, protected, private, static. A visibilidade de um método pode ser: public, static, private,final.

Visibilidade de Atributos

  • Modificador public

A visibilidade padrão de um atributo é publica isto significa que o mesmo pode ser acessado e modificado em qualquer lugar de sua aplicação. Mantendo as boas práticas de programação, devemos inserir o modificado public na declaração de um atributo.

Sintaxe:

  • Modificador private

Um atributo privado só pode ser acessado pela classe onde foi declarado, o mesmo não é acessado através de suas subclasses.

Sintaxe:

  • Modificador static

Um atributo static não precisa ser instanciado para ser acessado.

Sintaxe:

Para acessar o atributo estático for do escopo de uma classe sem instanciar o objeto, basta colocar o nome da classe onde foi declarado no inicio da declaração.

Exemplo:

  • Modificador protected

Um atributo protected só pode ser acessado pela classe onde foi declarado e nas suas subclasses.

Sintaxe:

Visibilidade de Métodos

  • Modificador public

Todos os métodos que não possuem um modificador por default são públicos, porém é recomendado que defina o modificador public na hora da criação do método.

Sintaxe:

  • Modificador private

O modificador de acesso private, define que um  método só pode ser acessado dentro do escopo de sua classe.

Sintaxe:

  • Modificador static

Um método static permite que sejam acessados atributos estáticos dentro de uma classe e nada mais. Não é preciso instanciar um objeto para acessar um método estático.

Sintaxe:

  • Modificador final

O modificador de acesso final, define que um  método não pode ser sobrescrito nas subclasses.

Sintaxe: