Arquivo da categoria ‘programação’
PHP: Metodos + Empty
Durante o desenvolvimento de um sistema ao utilizar a função empty no php, encontrei uma particularidade.
Para quem não a conhece, esta função é responsavel pela verificação se uma variavel possui um valor nulo/vazil.
Quando fui utilizar através da Orientação a Objetos, para verificar se o retorno de um metodo é do tipo Nulo, acabou dando na trave.
Fatal error: Can't use method return value in write context in
Como disse, esta função é para verificação de variaveis e não metodos.
A solução: Tive que criar uma função para armazenamento do metodo e assim verificar o seu retorno.
/**
* Auxilia na verificacao, o retorno de um método possue valor nulo
* Ignora valores 0 string e int.
*
* @param string $var
* @return bool
*/
function isEmpty($var)
{
$res = empty($var);
if ( ($var === 0) xor ($var === '0') )
$res = false;
return (bool) $res;
}
Programação Estruturada x Programação Orientada a Objetos

Nos anos 60 uma linguagem de programação chamada SIMULA criada por Kristen N. e Ole-Johan, utilizava uma nova forma de reaproveitamento de código. No lugar de quebrar o código em várias funções e criar pequenos procedimentos, foi adotado o que se chama de classes e subclasses.
Já na década de 70 o Smalltalk foi criado por cientistas da Xerox. Ela foi a primeira linguagem que apresentava de forma completa os conceitos da programação orientada a objetos.
O conceito era completamente novo e que levou certo tempo para as pessoas se acostumarem, e até hoje ainda causa arrepios em alguns desenvolvedores.
1. Programação Estruturada
A programação estruturada foi e ainda é bastante utilizada no mundo do desenvolvimento. Ela é baseada no conceito da modularização: o programa é quebrado em pequenos procedimentos, também conhecidos como funções. Assim é possível manter um aproveitamento razoável de código e criar funções genéricas que podem ser reaproveitadas entre projetos diferentes como, por exemplo, uma função que gera planilhas eletrônicas.
Embora isso seja possível, criar algo muito genérico é bastante difícil. O número de parâmetros que essa função pode receber e o número de procedimentos executados repetidamente é muito grande e isso dificulta a manutenção do código.
Com todos esses problemas o desenvolvimento é demorado, ou então, ele é rápido mas sua manutenção é bastante difícil, levando várias horas ou até mesmo dias para realizar uma pequena mudança. Como o reaproveitamento é pequeno, uma simples mudança precisa ser replicada em várias outras partes do código.
2. Programação Orientada a Objetos
A programação orientada a objetos traz o mundo real para dentro do desenvolvimento. Se utilizada corretamente, seu programa pode simular a compra de um produto da foma como ela realmente é: Um produto é posto dentro de um carrinho de compras. Então esse carrinho segue até um caixa onde é calculado o valor da compra, dos juros, retirado os descontos e por último efetuando a compra.
Simular o mundo real dentro do computador não é uma tarefa difícil utilizando essa “nova” técnica. Se considerarmos que tudo ao nosso redor é um objeto (um produto, um carro, uma pessoa, um banco, uma conta corrente) é possível fazer com que esses objetos interajam entre si.
Exemplo
Então no lugar de nosso código ser:
$produto1_codigo = 1;
$produto1_nome = "CD Nine Inch Nails – With Teeth";
$produto1_quantidade = 4;
$produto2_codigo = 2;
$produto2_nome = "CD A Perfect Circle – Mer De Noms";
$produto2_quantidade = 3;
echo "Nome: " . $produto1_codigo . " :: " . $produto1_nome . "
“;
echo ‘Quantidade: ’ . $produto1_quantidade;
echo “Nome: ” . $produto2_codigo . ” :: ” . $produto2_nome . “
“;
echo “Quantidade: ” . $produto2_quantidade . “
“;
?>
Ele passa a ser:
$produto1 = new Produto( 1, 'CD Nine Inch Nails – With Teeth', 4 );
$produto2 = new Produto( 2, 'CD A Perfect Circle – Mer De Noms', 3 );
echo "Nome: " . $produto1->codigo . ” :: ” . $produto->nome . “
“;
echo ‘Quantidade: ’ . $produto1->quantidade;
echo “Nome: ” . $produto2->codigo . ” :: ” . $produto2->nome . “
“;
echo “Quantidade: ” . $produto2->quantidade . “
“;
?>
Fonte: http://www.htmlstaff.org/imprimir.php?id=23366
Sem comentários »do Prototype para jQuery I
Ola pessoal…
Estou realizando um estudo com o jQuery e decidi fazer uma comparacao entre os comando basicos do Prototype para o jQuery.
Retornar valor de um input
Prototype:
$F('id);
jQuery:
$('#id).val();
Inserir o conteudo de um retorno html na pagina:
Prototype:
new Ajax.Updater(
'DivListaColunas',
'grelatorio_functions.php',
{
onFailure: function(){
alert('OCORREU UM ERRO AO PROCESSAR\nTENTE NOVAMENTE.');
}
evalScripts: true,
method: 'post',
parameters: $('form1').serialize() + '&action=MostraColunas'
}
);
jQuery:
$.ajax(
{
url: 'grelatorio_functions.php',
type: 'post',
data: $('#form1').serialize() + '&action=MostraColunas',
error: function(){
alert('OCORREU UM ERRO AO PROCESSAR\nTENTE NOVAMENTE.');
},
success: function(data){
$('#DivListaColunas').html(data);
}
}
);