Framework para desenvolvimento de plugins WordPress

Estou desenvolvendo um framework para simplificar o desenvolvimento de plugins WordPress. Pensei num framework que fosse um canivete suiço e que pudesse poupar significativas linhas de códigos e boas horas de programação.

Interrompi o desenvolvimento para pedir a vocês algumas sugestões e claro saber o que você espera de um framework para plugins WordPress.

Outro ponto será a seleção de alguns evangelizadores do framework. Posso adiantar que há uma grande empresa brasileira de internet envolvida, portanto, faça o alistamento que quando possível direi os benefícios.

Abraços.

Parabéns jQuery

Hoje, dia 14 de Janeiro de 2008, a jQuery completa três anos de vida. Desejo a ela toda felicidade do mundo e ao mesmo tempo agradeço por sua existência. Como é bom desenvolver utilizando essa fantástica “JavaScript library”. Como o próprio slogan dela diz “write Less, do more”.

E para comemorar o aniversário a um ótimo post no blog da Jquery intitulado como jQuery 1.3 and the jQuery Foundation que nos alerta sobre as novidades de aniversário:

Vamos matar o Internet Explorer 6, por favor.

Todo bom desenvolvedor constrói suas aplicações com foco numa solução crossbrowser, ou seja, que funcione no máximo de browsers possíveis, se possível em todos. Mas, todos concordam que lidar com o infame do Internet Explorer 6 é uma *****.

O iMasters brilhantemente lançou uma campanha para eliminar browsers antigos do mercado, entre eles o dito cujo do IE 6. Convido todos desenvolvedores decentes a participarem dessa iniciativa e nos ajudar a matar o Internet Explorer 6, por favor.

Participar da campanha é simples, basta adicionar um pequeno e simples código nos sites de sua responsabilidade que esse código irá detectar o navegador e sua versão. Se detectado que se trata do IE 6, será exibido uma barra convidando o usuário a atualizar seu navegador e ter uma navegação mais segura e nos ajudar, é claro.

Para ajudar na divulgação da campanha e facilitar nosso trabalho hoje e amanhã, inicio agora um Meme onde o objetivo é blogar a respeito da campanha, inserir o código da campanha em seu blog e dizer por que o Internet Explorer 6 deve morrer :D

Convido meus amigos Metzen, Bruno Dulcetti, Japs e Michelazzo para participarem.

Em 2009, vou de Zend Framework

Decidi iniciar 2009 com a adoção de um framework PHP. Entre os diversos disponíveis no mercado, minha simpatia girava em torno de três deles:  Zend Framework, CakePHP e CodeIgniter.

Cada um deles tem suas vantagens e desvantagens, portanto a escolha de um deles significava perder em um ponto e ganhar em outro. E após minhas análises optei pelo Zend Framework. Alguns pontos que considerei em minha análise: popularidade, comunidade, documentação, curva de aprendizagem, empresa responsável, envolvimento com o PHP e web 2.0.

O Zend Framework está ficando cada vez mais popular no Brasil e no mundo. Logo, a tendência é um crescimento da comunidade em volta do projeto. Quanto maior a comunidade, mais pessoas envolvidas em contribuições, suporte e melhoria dos códigos e recursos.

A documentação do ZF é super completa, há um guia para iniciantes, relação de todas API, guia de referência (online e em PDF), traduções (uma pena não ter em português do Brasil) e multmídia.

A curva de aprendizagem do ZF não é pequena, confesso. Mas devido a documentação disponível, tutoriais e o Google acredito que esse ponto não seria um empecilho.

A empresa responsável pelo desenvolvimento do Zend Framework é a Zend. Um dos pontos que pesou na escolha. Acho importante ter uma empresa sólida, séria e comprometida por trás de um framework que pretendo adotar. Não quero dizer que a empresa responsável pelo CodeIgniter ou a fundação responsável pelo CakePHP não seja. Além disso há a Zend é hiper envolvida com o PHP.

A Zend tem um grande potencial em fechar parcerias com outras empresas para agregar valor ao seu framework e diversos produtos. E isso tem sido feito com grandes empresas como Google, Adobe, IBM, Fox Interactive Media, Varien (Magento), e a lista continua.

E por falar em web 2.0, o Zend Framework se integra a grandes players da atualidade: Akistmet, Amazon, Delicious, Flicker, SlideShare, Twitter, Yahoo, Technorati, entre outros.

Desenvolvimento do jQuery lightBox plugin ao vivo

Desenvolvimento do jQuery lightBox plugin ao vivo é o nome da palestra que irei ministrar logo mais no iMasters interCon 2008.

Na apresentação contarei a história do jQuery lightBox plugin além de apresentar conceitos, técnicas e melhores práticas de desenvolvimento.

Vai estar no iMaster interCon 2008? Comente aí. Se não puder ir confira a transmissão ao vivo das palestras.

Procura-se freelancers de designer de interfaces

Desculpem pelo off-topic.

Estou a procura de freelancers de designer de interfaces. Serão vários projetos e de início há quatro interfaces a serem desenvolvidas (de projetos distintos).

[update]Extensivo para web designers focados na criação de layouts, somente.[/update]

Os CV podem ser enviados para leandro [arroba] w3invent [ponto] com [ponto] br

Abraços.

O que tenho feito nesses dias

Olá pessoal, ultimamente minha estadia por aqui está curta e não por menos, a quantidade de serviços cresceu consideravelmente e o tempo está cada vez mais escasso.

Estou envolvido em serviços na w3invent, finalizando minha graduação em Publicidade e Propaganda e neste ano envolvido com um projeto político.

O projeto político ao qual me refiro é o site do Mourão, candidato a prefeito de Governador Valadares, cidade onde vivo.

E neste ano irei palestrar no iMasters interCon na oficina de programação. Nessa palestra iremos recriar, juntos, o jQuery lightBox plugin. Conto a presença de todos vocês.

Um abraço e até breve.

Função PHP para remover “keys” de um Array

Acabei de criar um função em PHP para remover “keys” de um Array.

Considere o array abaixo:

$array = array (

'nome' => 'Leandro',

'sobrenome' => 'Vieira Pinho',

'email' => 'spam@efoda.com'

);

E considere também que você deseja excluir a key “email”, por exemplo. Portanto, o procedimento seria o seguinte:

unset( $array['email'] );

Logo, a estrutura do Array se modificaria com a ação executada. Resultando em:

$array = array (

'nome' => 'Leandro',

'sobrenome' => 'Vieira Pinho'

);

Quando houver necessidade de remover várias “keys” de um Array, utilizaremos várias vezes a função unset como exemplificado acima. Para simplificar meu trabalho, criei uma função intitulada como remove_key_from_array. Nela utilizo a função unset quantas vezes for necessário para remover as “keys” desejadas do um array, de acordo com os parâmetros passado à função.

Exemplo de uso da função considerando o array demonstrado acima.

print_r( remove_key_from_array( $array, array(‘sobrenome’,'email’) ) );

O resultado seria:

Array ( [nome] => Leandro )

Abaixo o código da função.

/**
* This function remove specified key from a given array
*
* @version 0.1
* @author Leandro Vieira Pinho
* @date Saturday, January 26, 2008
* @param array $array Array that contains the keys to be removed
* @param mixed $keys String with the key name; or, an Array with the keys names
* @return array Return the given array without the specified key(s)
*/
function remove_key_from_array( $array, $keys )
{
if ( is_array( $keys ) )
foreach( $keys as $key )
unset( $array[$key] );
else
unset( $array[$keys] );
return $array;
}

[UPDATE]Nova versão. Obrigado Fernando pela sugestão. [/UPDATE]

/**
 * This function remove specified key from a given Array and reindex it, if wanted.
 *
 * @version 0.2
 * @author Leandro Vieira Pinho
 * @date Monday, January 28, 2008
 * @param array $array Given Array that contains the keys to be removed
 * @param array $keys Array with the keys names
 * @param boolean $reindex Use "true" if you want to reindex the given array or convert associative array in indexed; "false" is default.
 * @return array Return the given array without the specified key(s)
 */
function remove_key_from_array( $array, $keys, $reindex = false )
{
	$keys = (array) $keys;
	foreach( $keys as $key )
		unset( $array[$key] );
	return ( $reindex ) ? $array = array_values( $array ) : $array;
}

Se lhe for útil, faço bom proveito.