Archive for janeiro, 2009

Uma feature muito interessante que temos na versão 1.2 do CakePHP, é a possibilidade de usarmos temas.

Temas é uma maneira, de podermos fazer distintas apresentações no CakePHP, com ele podemos usar sempre o mesmo controller, porém termos views e layouts distintos para cada tema. Sua utilização pode se dar por exemplo, em portais, onde há necessidade de apresentações diferentes.

Para implementar o mesmo é muito simples, pois o suporte já é nativo, basta informar ao controller que vamos usar 1 tema:

1
2
3
4
5
6
7
8
9
class BbbController extends AppController {
 
	public $name = 'Bbbs';
	public $view = 'Theme';
	public $theme = 'big_brother_brasil';
	public $helpers = array('Html', 'Form');
 
	.//Continuação do controller
}

Podemos ver que foi adicionado um atributo novo na classe o $theme, e que o atributo $view recebeu o valor default de Theme.

Feito isso já temos suporte a utilização de temas, se você acessar novamente sua aplicação vai perceber que nada aconteceu, isso porque ele é inteligente, se não tivermos nenhuma view no tema relatado ele ignora e busca a padrão.

Para criarmos as alterações nos temas temos que criar 1 diretório novo na nossa aplicação, vá até ..app/views/ e crie um diretório ..app/views/themed/, esse é um diretório padrão onde vai abrigar nossos temas.

Criado ele agora podemos criar nossos temas dentro dele, no caso o teme que o controller Bbb está usando é o tema big_brother_brasil, então dentro de ..app/views/themed/ criamos o diretório big_brother_brasil ficando assim ..app/views/themed/big_brother_brasil.

Criado o diretório do nossa tema, agora basta criar as views da tua aplicação assim como os layouts. Por exemplo:

File: ..app/views/themed/big_brother_brasil/layouts/default.ctp

1
< ?php echo 'BBB: Big Brother Brasil with CakePHP 1.2 =)'; ?>

Assim como qualquer view da sua aplicação pode ser criada dentro do seu tema, e usada no controller que quiser.

E mais uma vez, rápido, fácil, simples, como só o CakePHP oferece!

CakePHP 1.2 API Opensearch

| janeiro 28th, 2009

Resolvi fazer um search para API do CakePHP, para dar uma agilizada no desenvolvimento, agora sempre que preciso buscar algo na API, vou até o search bar do firefox e procuro diretamente de lá.

A especificações do opensearch é super simples, e fazer um também. Nada mais é que uma estruturação de XML.

Se quiserem instalar também, o mesmo se encontra aqui.

Download here.

Twitter post in Wordpress Server

| janeiro 26th, 2009

Now you can download the Twitter Post directly of wordpress website.

url: http://wordpress.org/extend/plugins/twitterpost/

Easy Share é CakePHP

| janeiro 21st, 2009

E está ali o favicon do CakePHP que não me deixa mentir!

Debugando PHP com Xdebug

| janeiro 20th, 2009

Debugar aplicações PHP nem sempre é uma fácil missão, comandos como: echo, print, var_dump, são constantes na vida do programador PHP, porém nem sempre só com eles é possível achar o erro, resumindo debugar PHP não é fácil. Pois existem uma extensão que é uma mão na roda!

Vamos dar uma olhada no Xdebug.

O que é Xdebug?

O Xdebug é uma extensão para ajudar no debuggin de scripts PHP, prove grande informações para debug. Dentre as informações providas temos:

  • Erros com mensagens:
    • Todos parâmetros das funções definidas
    • Nome da função, nome do arquivo e a linha da ocorrência
    • Link com ajuda sobre a função
    • Memória alocada
    • Proteção para loops infinitos
  • Informações dos scripts PHP
  • Análise do código
  • Capacidade de debugar os scripts de maneira interativa com um cliente de debug;

Para instalar o Xdebug no Ubuntu é bem simples, temos ele no repositório:

sudo apt-get install php5-xdebug

E não esqueça de reiniciar o apache.

No windows você pode conferir aqui, como se faz a instalação.


Vamos então testar um pouco do Xdebug:

Primeiramente um simples exemplo de um retorno do clássico var_dump();

1
2
3
4
5
6
$xdebug = new StdClass();
$xdebug-&gt;value = 1;
$xdebug-&gt;test = 'test xdebug';
var_dump($xdebug);
$xdebug  = array('value' =&gt; 1, 'test' =&gt; array('1',2,array(3)));
var_dump($xdebug);

Rodando um teste como esse você vera que, o seu var_dump, tomou cores, e quebras de linhas, e ficou muito melhor de ver como está vindo os resultados.


Verifique no seu php.ini, a se existe essas definições:

xdebug.default_enable = On
xdebug.collect_includes = On
xdebug.collect_params = On
xdebug.collect_return = On
xdebug.collect_vars = On
xdebug.dump_globals = On

Se ainda não tiver, ou estar desabilitado, habilite.
Outras informações, relevantes:

  • Quantas funções foram chamadas:
    1
    
    echo xdebug_get_function_count();
  • Quanto tempo demorou a execução:
    1
    2
    
    sleep(50);
    echo 'time:', xdebug_time_index();
  • Quanto de memória:
    1
    
     echo 'memory', xdebug_peak_memory_usage();

Por esse post é só, porém com Xdebug podemos ainda saber quais parte do código está demorando mais para serem executadas, criar trace da aplicação, assim como integrar o Xdebug com o Eclipse, e utilizar break points, inspeção de variáveis, entre outras coisas, que ajudam muito a debugar.

BuscaPé, líder em comparação de preços na América Latina