Desenvolvendo plugins WordPress usando Orientação a Objetos



Documentos relacionados
Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Menus Personalizados

Gerenciamento de Contatos

Utilizando a ferramenta de criação de aulas

Equipe OC- Olimpíadas Científicas

Introdução. O que é o Registro do Windows

Guia do Usuário. idocs Content Server v

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

UNIDADE V COMO CONSEGUIR LEADS

MANUAL DO ANIMAIL Terti Software

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

Manual de configuração do sistema

Omega Tecnologia Manual Omega Hosting

Manual do Google agenda. criação e compartilhamento de agendas

Instalando o WordPress em localhost

Índice. 3 Capítulo 1: Visão Geral do Blog. 4 Capítulo 2: SEO. 5 Capítulo 3: Backend: Como Funciona. Visão Geral Plataforma Frontend Backend

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações.

Manual Administrador - Mídia System

Manual da Administração do site Abrasel 2.0

Manual do Painel Administrativo

Como instalar o Ocomon passo a passo.

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.

Tutorial SGCD. 1. Efetuando Login no Sistema. 2. Criando uma nova página. 3. Editando uma página já existente

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti

Procedimentos para Reinstalação do Sisloc

Configurando o Sistema Operacional TC-OS

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

W o r d p r e s s 1- TELA DE LOGIN

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Como usar o. Como usar o Facebook para melhorar meu Negócio?

Gerenciamento de Projetos

Portal Sindical. Manual Operacional Empresas/Escritórios

OFICINA BLOG DAS ESCOLAS

O que tem neste ebook?

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

WordPress Institucional UFPel Guia Rápido

CRIANDO TEMPLATES E LEGENDAS

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Operador de Computador. Informática Básica

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

Tutorial de aprendizado para adicionar conteúdo no site

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

NOVIDADES DO JAVA PARA PROGRAMADORES C

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Conceitos de extensões Joomla!

NewAgent enterprise-brain

Tutoriais de apoio para a migração do Atualização: 30/04/2014

E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes

Manual de Instalação e Configuração do Primeiro Backup Versão PRO

Ambiente Virtual de Aprendizagem C.S.G. M anual do Professor

* Técnicas Avançadas. Desenvolvimento de SOFTWARES. Sistemas de Gerenciamento de Conteúdo com Joomla e Magento

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Como incluir artigos:

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

CONSTRUÇÃO DE BLOG COM O BLOGGER

Área de Trabalho. Encontramos: Ìcones Botão Iniciar Barra de Tarefas

Para a utilização do WordPress são recomendadas as seguintes configurações:

Software. Gerenciamento de Manutenção

02 - Usando o SiteMaster - Informações importantes

2012 Centro de Gestão da Tecnologia da Informação - PRODAP 08/05/2012

Manual de instrução.

No meu caso usei o huawei e1756, onde tirei a opção de autorun, pois se estiver ativada, não será detectado pelo sistema.

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de:

O tutorial do ambiente virtual tem o intuito de abordar e solucionar problemas que venham a existir sobre os seguintes pontos:

Produção de tutoriais. Coordenação de IAESMEVR Usando o Gerador de Vídeo 4.5

Construindo sítios profissionais com Mambo

Manual SAGe Versão 1.2 (a partir da versão )

MANUAL DE UTILIZAÇÃO DO PLUGIN GERADOR DE PLUGINS DO TERRAVIEW

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

Manual do Plone (novo portal do IFCE)

Permissões de compartilhamento e NTFS - Parte 1

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

STK (Start Kit DARUMA) Observer2 Driver para Linguagens DOS Mini Impressoras Versão 1.0

Downloads no EU VOU PASSAR 2.0

Lazarus pelo SVN Linux/Windows

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Todos os direitos reservados.

Manual do Sistema "Vida em Mão - Controle Financeiro Para PALM" Editorial Brazil Informatica

MANUAL DO CIDADÃO. Para acessar a página do E-SIC clique no link do e-sic na página inicial do site (figura 1):

Sempre vejo ou leio um usuários iniciante "como é esse Linux? posso usar em casa? no trabalho? no meu notebook? " normalmente a resposta e "vai no

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Google Drive. Passos. Configurando o Google Drive

Manual de utilização do sistema de envio de sms marketing e corporativo da AGENCIA GLOBO. V

Usar o Office 365 no iphone ou ipad

The Visgraf Video Database

Anote aqui as informações necessárias:

Introdução Contratando o produto Link2NFe Assistente de configuração de emissor Configurações Avançadas do Emissor...

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

Capacitação Aula4: Utilizando o Imagination e o Avidemux (GTK+)

Transcrição:

Desenvolvendo plugins WordPress usando Orientação a Objetos por Daniel Antunes danieldeveloper.com @danieldeveloper

Introdução Desenvolver plugins WordPress é mais que programar: é obter grandes resultados com o mínimo de esforço possível. O uso do WordPres nos garante grande comodidade, pois nos permite agilidade e uma API de plugins cada vez mais rica de novos recursos. Mesmo com uma pequena experiência já podemos nos garantir dizendo: Faço o que quiser com o WordPress. Temos uma documentação fantástica, uma estrutura bem montada e flexível e que nos permite acrescentar a cada dia mais e mais novos recursos através de plugins WordPress. Por que criar plugins para WordPress? Criamos um plugin quando necessitamos de uma funcionalidade que o WordPress não nos proporciona, seja ela de modificar uma ação, filtrar algum dado, criar novos gerenciadores de algum conteúdo e muito mais. Por que desenvolver plugins usando Orientação a Objetos (POO)? Saber desenvolver um plugin WordPress, mesmo que seja usando os recursos mais básicos, já é bastante satisfatório, pois com apenas algumas linhas de código podemos obter bons resultados. Usar orientação a objetos em plugins WordPress se tornou ultimamente uma prática comum entre grandes desenvolvedores no mundo, pois o encapsulamento nos proporciona ainda mais flexibilidade no código, agilidade no desenvolvimento e na manutenção, evita conflitos com outros plugins e o código fica mais legível e mais elegante. Para exemplificar, o usuário não precisa saber como um plugin mostrará uma mensagem de alerta, e sim qual método público poderá usar para obter este resultado. O encapsulamento protege o acesso direto aos atributos e métodos de um plugin fora de sua classe e nela criamos métodos para manipular de forma indireta atributos usados. O uso dessa prática nos ajuda a garantir que o comportamento de um objeto seja mantido e que permaneça coeso.

Quais as diferenças entre as versões 4 e 5 do PHP em POO? PHP 4 Com o PHP 4, o método construtor se define com o mesmo nome da classe. Todas as suas funções são públicas, portanto não são protegidas. Essa questão já foi abordada quando falamos sobre encapsulamento. PHP 5 No PHP 5, podemos definir o método construtor usando o padrão construct() e aplicar o encapsulamento na classe de nosso plugin WordPress.

Alguns plugins que usam Orientação a Objetos Pesquisando no repositório do WordPress, podemos encontrar diversos plugins que usam orientação a objetos. Alguns foram desenvolvidos com PHP 4 e outros, PHP 5. Uns complexos e outros simples, porém muito bons. Um plugin desenvolvido com orientação a objetos e PHP 4 é o Audio Link Player, usado para indexar mídias mp3 ou vídeos no conteúdo de posts WordPress. http://wordpress.org/extend/plugins/audio-link-player/ O plugin AmazonSimpleAdmin usa PHP 5 e tem uma boa estrutura e padrão de código. Um ótimo plugin para dar início aos estudos com POO. http://wordpress.org/extend/plugins/amazonsimpleadmin/ Temos também o Lomadee WP - Ofertas Relacionadas, um plugin desenvolvido aqui no Brasil pela equipe do Lomadee. É um plugin ainda em fase de adaptação, mas vale a pena baixar e estudar a forma como foi estruturado e agregar mais conhecimento no desenvolvimento de plugins e programação orientada a objetos. http://wordpress.org/extend/plugins/lomadee-wp-ofertas-relacionadas/

Vendo como é na prática Para exemplificar como desenvolver um plugin WordPress com orientação a objetos, ao final desenvolveremos um que modifique o screen da página de login. Temos muitos plugins desenvolvidos com essa finalidade, mas a nossa proposta é implementar a ideia usando programação orientada a objetos.

Por onde começar? De início, precisamos definir se o plugin dará suporte ao PHP 4. Seu uso, como dito anteriormente, restringe a implementação de POO. Usando o PHP 5, vamos implementar a estrutura básica do plugin, que consiste na criação da classe do plugin, seu método construtor e a criação imediata do objeto do plugin. Usando os Hooks (ganchos) do WordPress Para utilizarmos os Hooks do WordPress em um método desenvolvido com POO, devemos usar o seguinte formato: Como podemos observar na linha 15, executamos uma função no gancho de inicialização. Não apenas precisamos informar o nome da função, mas sim, o nome do método a ser executado e que ele pertence à mesma instância da classe usada. Essa prática nos permite recriar, dentro deste objeto, funções com o mesmo nome de outras usadas pelo WordPress, evitando conflitos.

Obs: Toda função chamada por um hook do WordPress precisa ser pública, assim como mostrado no exemplo anterior. Definindo atributos e métodos Podemos definir atributos de uso apenas dentro da classe e criar funções que retornem estes dados. Assim como os métodos, os atributos públicos podem ser acessados de qualquer lugar, seja fora ou dentro dela. Os atributos e métodos privados podem ser acessados apenas na classe em que foram declarados e os protegidos, nas classes em que foram declarados e nas filhas. A definição correta dos métodos e atributos da classe do plugin dá a ele mais integridade. Lembre-se que os privados ou protegidos não poderão ser acessados externamente, assim evitando que funções sejam chamadas em locais que não tenham permissão. Desenvolvimento do plugin proposto Inicialmente definiremos a descrição do plugin, juntamente com os dados da versão, URL e autor. O nome do nosso plugin, como definido acima, será WordCamp Screen Login. Com isso, devemos então criar o seu arquivo principal com o mesmo nome definido, wordcampscreen-login. No menu Plugins, já podemos ver os dados do plugin em desenvolvimento.

Devemos definir a classe do plugin de acordo com o nome dado para ele, sendo neste caso WordCamp_Screen_Login. Precisaremos de três atributos na classe WordCamp_Screen_Login. São eles: o caminho virtual da imagem, o título dessa imagem e a URL para redirecionamento. No método construtor da classe, usaremos hooks especiais para efetuar a mundaça nos dados da imagem da tela de login. login_head (modifica o CSS com os novos elementos); login_headertitle (modifica o atributo title da imagem de login); login_headerurl (modifica a URL para o quel haverá o redirecionamento, caso a imagem seja clicada); Se tentarmos executar o código neste momento, ocorrerá erro, pois os métodos chamados no uso dos hooks ainda não foram criados. Para editar e obter os atributos, precisamos agora criar os métodos Setters e Getters do plugin. Obs: Os métodos Setters foram criados para uma eventual implementação de uma tela de configurações, pois não seão usados neste primeiro momento..

Ao final, instancie a classe o plugin e ative-o na administração do WordPress. Se estiver logado, efetue o logout e veja como ficou a sua tela de login com o plugin instalado. Repare também o link atribuído à imagem de exemplo e no seu atributo title.

Outras ideias de implementação Usando orientação a objetos é possível acrescentar novas funcionalidades ao plugin de forma fácil e rápida. Para exemplificar, se criarmos uma tela de configurações do plugin, poderíamos usar os métodos set_screen_image, set_screen_title e set_screen_url para definir as estas configurações. Poderíamos também criar um método para efetuar o upload de uma imagem e muito mais. Conclusão Nossas ideias com plugins WordPress e programação Orientada a Objetos são muito extensas e nos retornam grandes oportunidades. O ato de se preocupar com um bom código nos permite dar mais flexibilidade ao nosso plugin e restringir o acesso a funções internas. Temos muito mais da orientação a objetos a aprender e aplicar em nossos plugins WordPress. Nosso mini-curso é apenas uma introdução ao desenvolvimento usando esse estilo de programação. Vá além dos seus objetivos e use a criatividade para desenvolver plugins WordPress.