Desenvolvimento de Sistemas para Internet - Curitiba / PR

Criação e desenvolvimento de sistemas e websites - Curitiba / PR

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 on line

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;
}

1 comentário »

Programação Estruturada x Programação Orientada a Objetos

poo
Artigo bastante interessante explicando a diferença de Programação Estrutura da a Orienta a Objetos de Bruno Viana

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);
}
}
);

Sem comentários »