sexta-feira, 26 de dezembro de 2008

CakePHP - Array Functions

Array : Algumas propriedades
Depois de notar o quanto o uso do compact se tornou freqüente nos meus scripts, resolvi listar algumas funções que julguei úteis. Algumas talvez não apresentem um uso agora.
Exemplos em php.net

array_combine
Cria um novo array a partir de dois já existentes. Usando os valores do primeiro como as chaves e os parâmetros do segundo como os valores.
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

Na tela:
Array
(
[green] => avocado
[red] => apple
[yellow] => banana
)

array_chunk
Divide um array em pequenas partes. Separe os dados como se fossem uma lista ou até mesmo monte calendários.
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));

Na tela ( valores do array resgatados de 2 em 2) :

Array
(
[0] => Array
(
[0] => a
[1] => b
)

[1] => Array
(
[0] => c
[1] => d
)

[2] => Array
(
[0] => e
)

)

array_diff
Retorna os valores de array1 que não constam em um array2.
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

Na tela ( os valores de array1 ) :

Array
(
[1] => blue
)

Agora fico devendo algumas brincadeiras com o Cake. Senão esse post fica sem propósito.

Framework

Framework : eficiente e produtivo.
Enquanto estudava Modelagem, recebia o feedback de um bate-papo sobre a real necessidade do uso de frameworks.

A questão era a seguinte:" Necessito de um framework se faço um bom código?"
Junto a questão veio um comentário : "Levo menos tempo preparando meus estilos do que me preparando para usar um framework css".

Concluímos que pessoas com mais experiência com a linguagem não sentem necessidade do uso de um framework.
Mas é indiscutível as vantagens que o mesmo pode nos oferecer. Não duvido que um bom programador munido de um bom framework não se torne um indivíduo muito mais produtivo e que a qualidade de seu serviço seja muito maior do que qualquer outro que use o mesmo framework mas possua conhecimentos básicos em programação.

Também devemos entender que o propósito do framework é nos tornar eficientes e produtivos, aumentando a qualidade do nosso serviço e nos dispondo de mais tempo para nos concentrar na abstração dos problemas e no trato das soluções.

Bom código necessita de um framework?

Analise quando realmente é necessário o uso do framework.
Existem diversos tipos de frameworks para várias linguagens..até para CSS. Analise se precisa de um.
Hoje não vivo sem o CakePHP, até para os projetos mais simples.

Meu propósito não é facilitar o aprendizado em relação a linguagem, e sim manter a estrutura do meu sistema o mais sólida possível.

A importância de conhecer a linguagem


Framework é bom mas não dispenso a linguagem em seu estado mais "puro".
A importância de saber bem com o que se trabalha é o fator que nos diferencia entre bons e ótimos profissionais.

domingo, 21 de dezembro de 2008

CakePHP - Ajax, Render, Upload, unlink, Sortable

Final de ano. Férias na faculdade. Evento em São Paulo.
Este final de semana em frente ao computador tirando o atraso com o CakePHP.
De sábado para domingo estudando das 7 da manhã às 5 da manhã de domingo.
Lendo, relendo, revisando. Fazendo, desfazendo. Experimentar e conhecer.
Comprometi-me a sempre fazer um apanhado das realizações para que a caminhada não fosse perdida em função da abstração.

Tudo começou quando resolvi definir logo meus grupos de usuários.
Tentei entender se era preciso usar o admin route. Após ler o manual, alguns fóruns e tentar usar um pouco a lógica resolvi criar views separados para meu painel de controle.
Mas aí me indaguei sobre como criar um menu dinâmico para cada grupo de usuário.
Seria necessário definir o menu de acordo com o grupo de usuários?
Bastaria deixar a ação disponível no menu para todos os grupos?
Depois de pensar muito percebi que estava investindo muito tempo nisso e ainda tinha uma caminha pela frente.

Deixei o componente Auth de lado por enquanto.
Dediquei o tempo no CRUD de uma das minha tabelas.
Testei cada função em ajax, revisei o livro. Fui em cada fórum, vi cada questão.

Em relação ao Ajax concluí o seguinte:
É melhor não tentar fazer uploads de arquivos.

Com ajax aponto para uma ação do controller, nessa ação uso o render para passar os parâmetros para uma determinada página CTP do meu controller, essa página por sua vez é carregada no elemento setado no ajax.

quinta-feira, 18 de dezembro de 2008

Algumas URLs

http://kiss.souagil.com.br/2008/11/sistemas-de-temas-do-cakephp/

http://planetcakephp.org/

http://docs.cakephp.nu/