Uma das principais características da linguagem de programação PHP, é o facto de que o programador não precisa de declarar o tipo das variáveis, pois o sistema efectua esta operação automaticamente, dependendo do contexto em que a variável é utilizada.
Este método é exactamente o oposto àquilo que acontece com outras linguagens de programação, exemplo disso é a linguagem C que o programador é obrigado a declarar as variáveis e em muitos casos é obrigado a inicializa-la.
Contudo é possível saber o tipo de uma variável, através da função gettype. O resultado produzido por esta função será o nome do tipo da variável. Podemos ver o comportamento desta função no seguinte exemplo:
[color=green]<?
$variavel = "1234";
print gettype ("$variavel");
//O resultado impresso no ecrã sera: string
$variavel = 1234;
print gettype ("$variavel");
//O resultado impresso no ecrã sera: intiger
?>[/color]
Separação das instruçõesSe analisarmos o código anterior, chegamos a conclusão que no final de cada instrução existe um ponto e vírgula ( ; ). Isto acontece porque em PHP, a semelhança de outras linguagens de programação o PHP utiliza o ponto e vírgula para separar as instruções.
ComentáriosA linguagem PHP, possibilita ao programador utilizar três tipos distintos de comentários:
- O estilo usado na linguagem C (/* */ );
- Igual ao da linguagem C++ ( // );
- O estilo usado pela linguagem shell do unix ( # );
VariáveisComo já devem ter reparado em PHP as variáveis são representadas através do sinal $ (cifrão) seguido de um identificador único ou seja o nome da variável. Para se formar o identificador da variável, estas devem iniciar-se por uma letra ou pelo símbolo underscore ( _ ) e podem conter letras, números e underscore. O nome de uma variável é case-sensitive ou seja o PHP diferencia as letras maiúsculas das letras minúsculas e não é possível alterar esse comportamento.
Em PHP a atribuição de valores as variáveis é feita através do sinal de igual ( = ), uma variável pode receber valores directamente ($var = 1234; ) ou então referenciar uma outra variável ($var = & $nome). A atribuição por referência faz com que, ao alterar o valor de uma das variáveis, ambas sejam alteradas. Este processo não copia a variável, tornando a operação de atribuição mais rápida.
[color=green]<?
$teste = "João";
$nome = $variavel; //Atribuição directa a variável $nome passa a ter o valor "João"
$nome2 = & $variavel; //Atribuição por referencia a variável $nome e passa a ter o valor "João"
$nome = "Ana"; //Atribuição directa a variável $nome passa a ter o valor "ana"
$nome2 = "André"; //Atribuição por referencia a variável $nome e a variavel $teste passam a ter o valor "André"
?>[/color]
Duas notas bastante importantes:Não é possível referenciar expressões ou resultados de funções. Somente as variáveis existentes, é que podem ser referenciadas. Também não é possível mandar imprimir uma variável que contenha a sua direita a atribuição de uma expressão.
[color=green]<?
$var = 10;
$var2 = & $var; //Isto funciona
$var3 = & (10 + 4); //Isto não funciona
function ref ($valor)
{
return $valor *2;
}
$var3 = & ref(5); //Isto não funciona
print = (2 + 3); //Isto também não funciona
?>[/color]
Escopo das VariáveisO escopo de uma variável é o contexto em que está, esta definida. Em PHP uma variável podem estar inserida em dois contextos distintos ou a nível local dentro de uma função ou em qualquer parte do script php. Para que o programador consiga ter acesso a uma variável que esteja definida dentro de uma função, este tem que declara-la como variável global, utilizando dentro da função a palavra reservada global, seguido da relação de variáveis, caso contrário já mais consegue aceder ao conteúdo da variável.
Outro recurso bastante importante do PHP é possibilidade de se poder utilizar variáveis estáticas, dentro do escopo da função, mas atenção que o valor de uma variável estática não é perdido quando a função é encerrada, podendo ser resgatada numa nova chamada à função. Para utilizarmos as variáveis estáticas basta utilizar a palavra reservada static antes do nome da variável e temos ainda que inicializar a variável na primeira vez que a função for chamada.