Enviar por e-mail
Imprimir
O PHP foi designado para o desenvolvimento de sites e sistemas Web (internet e intranet). Sua sintaxe deriva de várias linguagens, predominando C, Perl e Java. É uma linguagem interpretada com variáveis, sentenças condicionais, funções e orientada a objetos.
Estrutura
Código Fonte
O código fonte é delimitado por tags.
| <?php Código ?> | Padrão |
| <? Código ?> | Short Tags |
| <script language="php"> Código </scritp> | Script Tags |
| <% Código %> | ASP Tags |
As instruções são delimitadas por ; (ponto-e-vírgula) e os blocos de códigos são demarcados por {} (chaves).
if ( 10 > 2 ) { // Bloco de código
echo 'Dez é maior que dois'; // Instrução
}
Comentários
Exitem quatro formas de inserir comentários no códigos PHP.
| // Comentário | Comentário de única linha |
| # Comentário | Alternativa para comentários de uma linha |
| /* Comentário */ | Comentário de múltiplas linhas. |
| /** * Descrição do bloco * * @author Tokens (palavras reservadas) */ | Documentação São blocos especiais para gerar documentação do aplicativo. |
Os comentários são muito importantes. Hoje você pode gastar alguns minutos comentando seus códigos, mas depois não terá que gastar horas e horas para lembrar do que tinha feito.
Tipos de dados
PHP é uma linguagem de tipos dinâmicos e fracos. Os tipos das variáveis são descobertos no momento da execução e a qualquer momento podem ser alterados. Não é necessário declarar as variáveis antes de usa-las ou usar métodos para conversão.
$variavel = 'PHP World'; // string $variavel = 120; // número inteiro
Os tipos de dados são: boolean, int, float, string, array, object e null.
Variáveis
As variáveis são containers temporários de armazenamento, dados básico manipulados em um programa. As variáveis não precisam ser declaradas ou inicializadas, são case-sensitive (letras maiúsculas e minúsculas são diferenciadas)e qualquer momento podem ter seus valores e tipos modificados.
- São identificadas pelo símbolo $ (dolar).
- Só podem ser formadas por letras (maiúsculas e minúsculas), números e o caractere sublinha "_" (underscore).
- Não pode iniciar com caractere numérico.
variavel = 10; // inválido $-variavel = 10; // inválido $variavel = 20; // válido $VARIAVEL = 35; // $VARIAVEL e $variavel são duas variáveis distintas.
Escolha nomes de variáveis que tenham algum significado relacionado com a finalidade da variável.
Constantes
Diferente das variáveis, as constantes tem seus valores imodificáveis. Uma vez definido, não pode ser alterado.
define('PI', 3.14);
echo PI; // 3.14
PI = 50; // Tentar modificar o valor de uma constante gera erro
Operadores
Entre os operadores no PHP existem:
- Operador de atribuição para atribuir valores.
- Operadores aritméticos para realizar operações matemáticas.
- Operadores especiais de incremento e decremento para adicionar ou remover valores de variáveis um a um.
- Operador de concatenação para unir (concatenar) strings.
| Operador | Sinal | Exemplo |
| Atribuição | = | $a = 5; // 5 |
| Adição | + | $x = 5 + 5; // 10 |
| Subtração | - | $y = 50 - 10; // 40 |
| Multiplicação | * | $z = 20 * 2; // 40 |
| Divisão | / | $i = 10 / 2; // 5 |
| Módulo Resto inteiro de uma divisão | % | $i = 10 % 2; // 0 |
| Incremento | ++ | $a = 5; $a++; // 6 |
| Decremento | -- | $b = 28; $b--; // 27 |
| Concatenação | . | $string = 'P'.'H'.'P'; // PHP |
É possível combinar o operador de atribuição com os operadores aritméticos.
$a = 10; $a += 5; // 15 ( forma simplificada de: $a = $a + 5 ) $a *= 2; // 30 ( $a = $a * 2 )
Operadores de comparação
Os operadores de comparação ou também conhecidos como operadores relacionais estabelecem relações entre dois valores e retornam um valor boolean (true ou false).
| == | Igual - Retorna verdadeiro se os valores forem iguais, mas os tipos não precisam ser necessariamente iguais. |
| != | Diferente - Retorna verdadeiro se os valores forem diferentes. Os tipos não são considerados. |
| > | Maior - Retorna verdadeiro se o valor da esquerda for maior que o da direita. |
| >= | Maior ou igual - Retorna verdadeiro se o valor da esquerda for maior ou igual ao valor da direita. |
| < | Menor - Retorna verdadeiro se o valor da esquerda for menor que o da direita. |
| <= | Menor igual - Retorna verdadeiro se o valor da esquerda for menor ou igual ao valor da direita. |
| === | Idêntico - Retorna se ambos tiverem o mesmo valor e tipo. |
| !== | Não-idêntico - Retorna verdadeiro se ambos tiverem valores e tipos diferentes. |
Operadores lógicos
São operadores para avaliar conjuntos de valores booleans.
| && ou and | Ambos devem ser verdadeirosecho (1 > 0 && 5 > 2); // true |
| || ou or | Uma condição verdadeira já retorna verdeiro, mesmo que seja uma enorme expressão de comparação.echo (1 == 1 || 5 > 10 || 1 > 3050); // true |
| XOR | Ambos não podem ser verdadeiros e falsos, apenas um ou outro.echo (1 > 2 XOR 10 < 1); // true |
Estruturas de controle
As estruturas de controle especificam ordem em que as instruções devem ser executadas.
Estruturas condicionais
As estruturas condicionais permitem o código tomar decisões e seguir diferentes rumos.
If, else if e else
if ( primeira condição for verdadeira ) {
Faça;
}
else if ( ou então se a segunda condição for verdadeira ) {
Faça;
}
else {
Se nenhuma das condições forem verdadeiras faça isso;
}
$a = 10;
if ( $a > 20 ) {
echo 'É maior do que vinte';
}
else if ( $a > 15 ) {
echo 'É maior do que quinze';
}
else {
echo 'Menor do que quize';
}
Não é necessário que todas as sentenças sejam declaradas (else e else if).
$b = 30;
if ( $b > 10 ) {
if ( $b > 25 ) {
if ( $b < 50 ) {
echo "é um número entre 25 a 50";
}
else {
echo "é um número maior que 25 e menor que 50";
}
}
}
Operador ternário
A estrutura condicional pode ser simplificada com o operador ternário "?:"
expressão 1 ? expressão 2 : expressão 3;
A expressão 1 é avaliada, se for verdadeira, então é assumido a expressão 2, senão a expressão 3.
$x = false; echo ($x == true) ? '$x é verdadeiro' : '$x é falso';
Switch
É uma construção especial de decisão múltipla que testa uma expressão de vários valores.
$estadoCivil = 1;
switch($estadoCivil) {
case 1:
echo 'solteiro';
break;
case 2:
echo 'casado';
break;
case 3:
echo 'viúvo';
break;
case 4:
echo 'divorciado';
break;
default:
echo 'Não informado';
break;
}
O switch availia a expressão inteira entre os parênteses e compara seu valor com todos os casos. Se um caso for igual ao valor da expressão, a execução começa nele (isso é realmente importante). Caso o valor não coincida a nenhum caso e se o caso default estiver definido, então é executado ou então, nenhuma ação é tomada.
O comando break é uma saída imediata do switch. Devido aos casos servirem apenas como rótulos, após a execução de um caso, o fluxo prossegue, a menos que você tome uma alternativa de escape.
switch($sorte) {
case 2:
echo "Será promovido\n";
case 28:
echo "Vai ganhar na loteria\n";
case 3:
echo "Encontrará o amor da sua vida\n";
case 12:
echo "Vai ganhar um livro de programação";
}
$sorte = 3;
Encontrará o amor da sua vida
Vai ganhar um livro de programação
$sorte = 18;
Vai ganhar na loteria
Encontrará o amor da sua vida
Vai ganhar um livro de programação
Executar de um caso a outro permite múltiplos casos para uma única ação, mas implica que cada caso individual seja encerrado por break.
Estruturas de repetição
Os laços de repetição são executados enquanto a condição testada for verdadeira, isso permite a execução de uma ou mais instruções uma porção de vezes.
(Enquanto for verdadeiro) {
Faça;
}
$i = 0;
while($i < 10) {
echo $i;
$i++;
}
//Ao menos uma vez o bloco será executado, mesmo que a condição seja falsa
$x = 10;
do {
echo "Bom dia";
$x++;
} while($x > 5);
Os laços while e do-while são as estruturas de repetições mais simples. Existem outras estruturas que são conhecidas por estruturas especializadas, for e foreach.
for ( $i = 0; $i < 10; $i++ ) {
echo $i; // Exibe de 0 a 9
}
Comparativo de for e while
for (expressão 1; expressão 2; expressão 3) {
faça;
}
expressão 1;
while (expressão 2) {
faça;
expressão3;
}
For é formado por três componentes, qualquer uma das três partes pode ser omitida, embora os ponto-e-vírgula devam permanecer.
$i = 0; for (; $i < 10; $i++) ; echo $i; // 10
Foreach é uma estrutura de repetição especial para arrays.
$itens = array('livro', 'caneta', 'lápis', 'caderno', 'mochila');
foreach ( $itens as $item ) { // Para cada elemento de $itens é um $item
echo $item; // Exibe primeiro livro, depois caneta e assim por diante
}
Comentar
RSS
RSS
Puxa, se fizeres um tutorial do tipo PHP a partir de C, fica muito mais fácil! Seria só mostrar as poucas diferenças/acréscimos, ou então omitir detalhes sobre a sintaxe que for igual.