Ir ao conteúdo

Posts Recentes

23
out

Palestra: Boas práticas no desenvolvimento de plugins WordPress

Developers,

hoje ministrei no WordCamp Curitiba sobre Boas práticas no desenvolvimento de plugins WordPress e ontem dei um mini-curso sobre desenvolvimento de plugins WordPress com Orientação a Objetos. O evento foi muito bom, reuniu toda a comunidade WordPress do Brasil e de Curitiba.

Acompanhe abaixo como foi a minha palestra sobre “Boas práticas no desenvolvimento de plugins WordPress”.

21
out

Palestra: Apresentando o WordPress

Palestra ministrada pelo meu amigo Arilton Freitas (@arisenna) e por mim (@danieldeveloper) no evento GV Community Day em Gov. Valadares – MG. Este evento aconteceu no dia 20 de novembro de 2010 na Univale e reuniu diversos expectadores com o intuito de conhecer melhor o WordPress.

13
out

WordCamp Curitiba

Developers,

O WordCamp Curitiba é uma conferência sobre WordPress, e é organizada pela Comunidade WordPress-BR onde desenvolvedores, designers, blogueiros e usuários casuais poderão assistir palestras e apresentações, trocar idéias e se conhecer num ambiente informal. O evento acontecerá nos dias 22 e 23 de Outubro de 2010 na FESP/PR, e contará com uma grade de atividades que contempla os mais variados níveis de usuários.

Neste grande evento, ministrarei um mini-curso sobre Desenvolvimento de plugin usando Orientação a Objetos e também darei uma palestra sobre Boas práticas no desenvolvimento de plugins WordPress. O evento contará com grandes palestras, mini-cursos e diversas outras atividades.

Se ainda não se cadastrou, faça sua inscrição! Aguardo todos vocês lá!

 

23
set

Desenvolvendo plugins WordPress Orientados a Objetos

Developers,

a alguns meses venho desenvolvendo plugins para WordPress utilizando programação orientada a objetos, e notei o quão ficou mais fácil desenvolvê-los. Sabemos que 98% dos plugins desenvolvidos não usam POO, e hoje com a quantidade enorme de plugins existentes, é muito mais fácil entrarem em conflito.

Por que desenvolver plugins orientados a objetos?

Usando orientação a objetos, seus códigos ficam mais legíveis e suas funções reutilizáveis, além de poder definir constantes, variáveis e funções sem se preocupar com conflitos entre outros plugins que usem métodos com o mesmo nome.

Pré-requisitos

Bom, primeiramente, devemos ter um bom conhecimento sobre WordPress e a API de plugins do mesmo. Saber orientação a objetos (POO) também é imprescindível. :D

Como seria o desenvolvimento afinal?

Simples, o cabeçalho do plugin não sofre alterações quanto a isso, irá continuar com o padrão do WordPress.

<?php
/*
Plugin Name: Daniel Developer POO
Plugin URI: http://danieldeveloper.com
Description: Exemplo de como usar Orientação a Objetos em um plugin WordPress
Version: 1.0
Author: Name Daniel Developer
Author URI: http://danieldeveloper.com
License: GPL2
*/
?>

Agora, precisamos criar a classe do plugin, juntamente com seu método construtor e instanciar o objeto.

Usando PHP 4, teremos:

<?php
class DanielDeveloperPOO {

function DanielDeveloperPOO()
{
echo 'Acessando a função contrutora com PHP 4';
}
}

$plugin_danieldeveloper_poo = new DanielDeveloperPOO();
?>

Usando PHP 5, teremos:

<?php
class DanielDeveloperPOO {

public function __construct()
{
echo 'Acessando a função contrutora com PHP 5';
}
}

$plugin_danieldeveloper_poo = new DanielDeveloperPOO();
?>

Mas porque a diferença entre as duas versões? Simples, a versão 4 do PHP não tem suporte à métodos de orientação a objetos por completo. Como se nota, na versão 4, o método construtor recebe o mesmo nome da classe, e os outros métodos não recebem definições como public, protected, private. Ao contrário da versão 5 do PHP que é mais completo em relação a orientação a objetos.

Neste artigo vamos adotar o PHP 5 para concluirmos nosso exemplo.

Continuando, ao adicionar hooks (ganchos) e filtros em seu plugin, todos eles devem estar dentro do método construtor. Veja um exemplo abaixo:

<?php
class DanielDeveloperPOO {

public function __construct()
{
add_action( 'init', array( &$this, 'textdomain') );
add_action( 'admin_menu', array( &$this, 'menu') );
}

public function textdomain()
{
//...
}

public function menu()
{
//...
}
}

$plugin_danieldeveloper_poo = new DanielDeveloperPOO();
?>

Note que temos novidades na função add_action dos ganchos (linha 6 e 7) ao definir qual método do plugin deverá ser executado. Pois bem, precisamos passar esse array referenciando o objeto em que estamos, juntamente com o nome do método, assim o gancho do WordPress interpretará normalmente qual método executar dentro do seu plugin.

Desenvolver um plugin orientado a objetos é muito interessante para seu código, seu dia-a-dia e para dar aqueles famosos upgrades. Quando desenvolvemos em POO, podemos definir quais métodos estarão públicos e quais estarão disponíveis apenas para o plugin em si. Veja um exemplo abaixo:

<?php
class DanielDeveloperPOO {

public function __construct()
{
add_action( 'admin_menu', array( &$this, 'menu') );
}

public function menu()
{
add_menu_page( 'POO', 'POO', $this->_get_capability(), '' );
}

public function output_capability()
{
echo $this->_get_capability();
}

private function _get_capability()
{
return 'administrator';
}
}

$plugin_danieldeveloper_poo = new DanielDeveloperPOO();
?>

Note o método _get_capability(), ela é privado da classe DanielDeveloperPOO, portanto só poderá ser acessado a partir dela e não de outros arquivos ou classes, dando mais integridade ao seu plugin. No exemplo acima , o método é usado por outros métodos dentro da classe e nunca poderá ser usado ou chamado fora dela.

Observação: Todo método chamado pelos hooks (ganchos), deverão ser publicos, nunca privados ou protegidos. A função add_action é externa e precisa executar métodos definidos em nosso plugin.

Outra coisa que nos deixa mais a vontade ao desenvolver com Orientação a Objetos, é o fato de não nos preocuparmos com os nomes que daremos aos métodos de nosso plugin. Quando programamos em POO, encapsulamos nosso plugin e podemos dar os nomes que desejarmos aos nossos métodos, sem nos preocupar com conflitos entre funções de outros plugins e do WordPress.

É isso Developers, agora que já sabem como usar POO em seus plugins WordPress, vamos colocar a mão na massa? Nossos plugins ficarão mais profissionais e poderão servir de exemplo para muitos outros desenvolvedores. Deixe suas dúvidas e comentários para que possa ajudá-lo.

Bom trabalho a todos.

Obs: Esses produtos abaixo listados, são ofertas de produtos do BuscaPé. Para fazer isso é usado o plugin Lomadee WP – Ofertas Relacionadas, ele foi desenvolvido com orientação a objetos e é um bom exemplo para vocês baixarem e darem uma olhada no seu código.

[lomadeewpro category='' keywords='dell']

 

21
set

Como acelerar o WordPress e melhorar seu desempenho

Developers,

Syed Balkhi (@syedbalkhi) do WPBeginner, apresentou no WordCamp Birminghan 2010 na sessão de desenvolvimento o tema: How to Speed up WordPress and Boost Site Performance, onde ele aborda soluções para melhorar o desempenho e acelerar o WordPress. Vale a pena conferir.

View more presentations from Syed Balkhi.