Thanks to visit codestin.com
Credit goes to corecode.wordpress.com

Feeds:
Posts
Comments

Archive for the ‘PHP’ Category

Curiosidades em PHP II

Há muito tempo atrás eu havia postado uma curiosidade em PHP, hoje eu veio completar com outras curiosidades, ao menos para mim. Faz muito tempo que não programo em PHP, pra ser sincero nem sei direito nem em que versão a linguagem se encontra, mas andei brincando com a versão que tenho aqui e vou mostrar para vocês as coisas “bestas” que fiz.

No primeiro post eu atribuía uma função a uma variável e usava esta do mesmo modo que uma função $funcaoVar(parametros). Descobri que o mesmo se pode fazer com classes, ou seja, $classe = ẗeste (onde teste é o nome da classe), você pode usar assim:

CODE

<?
class Teste {
	function  Teste(){
		print "funfou";
	}

}
$variavelClasse = Teste;
$objeto = new $variavelClasse();
?>

Eu sinceramente não sei qual a grande utilidade disso, talvez exista alguma. Você pode sair passando as descrições das classes para dentro de alguma função e criar os objetos em algum momento oportuno. O fato é que você vai lidar com a descrição da classe e não o objeto.

A outra curiosidade diz respeito a funções em PHP. Em C existe a seguinte possível declaração de função: int Soma(int a, int b, …), onde os três pontos são parâmetros não obrigatórios que você pode passar e tratar dentro da função usando var_args [1]. Curioso se isso seria possível em PHP testei e deu nisso aqui.

CODE

<?
function Soma($a,$b){
        return $a+$b;
}
Soma(1,2,3,4,9,5,6,7,8);
?>

Que utilidade teria isso? Ofuscar o seu código para que ninguém entenda, talvez. Como disse, há tempos não programo em PHP se tiver alguém que programa por aqui e souber me dizer qual a utilidade disso. E sim, essa chamada a Soma com n parâmetros não dá erro.

É isso, sei que foi um post bem besta, mas eu fiquei curioso e sempre tento fazer algumas coisas que faço em python ou C em PHP só para testar, vai que funfa né.  A preguiça e quantidade coisas que tenho que fazer me impedem de pesquisar mais sobre essas coisas e por aqui no blog como referência, mas se alguém já tiver visto isso por ai ficaria grato em dar uma lida também =].

 

[1] http://www.eskimo.com/~scs/cclass/int/sx11b.html

Read Full Post »

Curiosidades em PHP

Outro dia  me perguntei se seria possível fazer algumas das coisas que eu faço em Python em  PHP.  Tal como passar na declaração de uma função um valor default.  E descobri que realmente é possível.  Além disso vi que também é possível declarar uma função e passar o nome dela à uma variável e chamar essa variável como sendo esta função.  Péra!! Confundiu tudo.  Vamos ver com calma nos códigos que seguem.

No código abaixo é demonstrado tudo isso que eu falei.  A função ‘abc’ é declarada passando como valor DEFAULT um inteiro, no caso 1.  Abaixo da função passamos o nome da função para duas variáveis.  A primeira vai ser chamada com parametro,  já a segunda não.  Note que para chamar a variável como função você deve por os parenteses ‘( )’ junto com a variável.  Exemplo $casa( ) <——–.  Pronto agora dá uma olhada no código e vê que legal.  Agora é só usar sua criatividade ou necessidade e fazer uso disso.

CODE


<?

function abc($valor= 1)//Declaração de função passando 1 como valor DEFAULT
{

    print $valor . "
" ;

}

$func = "abc"; //Passando o nome da função para uma variável.
$func2 = "abc";// idem acima.

$func("kirotawa");//Chamando a primeira variável como a função abc, passando valor como string.
$func2(); //Chamando a segunda função sem passar valor.

?>

Read Full Post »

O post anterior falava em como você pode instalar o bcompiler e utilizá-lo para compilar o código de suas aplicações em PHP-GTK.   No caso do PHP-GTK é realmente interessante esconder o código.  Mas imagine que você precise fazer o mesmo com códigos PHP de algum sistema Web.  É do que trata este post.  Aqui vou mostrar, de forma absurdamente simples, como esconder o seu código .php.

Uma vez que você já tenha instalado o bcompiler tudo ficou mais fácil.  Os passos para esconder o código .php para aplicações Web são os mesmos para o PHP-GTK.  O primeiro passo é gerar o .phb, ou seja, o arquivo php bytecode (ver post anterior).  O segundo passo é ler o arquivo .phb e usá-lo de acordo com o que foi implementado no .php que deu origem a ele.  Vejamos o código abaixo:

CODE


<?

function DigaOi(){
    print "hello world!!";
}

?>

O código acima é referente ao código que será passado para bytecode.  Já o próximo código é como você deve fazer para usá-lo na sua aplicação.

CODE


<?
$fb =fopen("HelloWorld.phb","r");

bcompiler_read($fh);//ler o arquivo em bytecodes.

fclose($fh);

DigaOi();//Esta é a função que foi definida no arquivo .php que foi passado para phb (php compilado)

?>

Como eu disse antes, é absurdamente simples.  Uma vez que você instalou o bcompiler, adicionou:  echo ‘extension=bcompiler.so’ >> /etc/php5/apache2/php.ini.  Ou digitando no php.ini.  Pronto, agora é só testar.

Read Full Post »

Design a site like this with WordPress.com
Get started