PHP Tutorial
Neste artigo apresentaremos dicas e um resumo geral de alguns dos principais artifícios da linguagem PHP.
PHP é uma linguagem de programação bem versátil e muito familiar a linguagem HTML. O código PHP está escrito entre as tags <?php ?>, como é mostrado na Listagem 1.
<!DOCTYPE html>
<html>
<body>
<h1>Estamos aprendendo PHP!</h1>
<?php
echo "Vamos prosseguir aprendendo PHP";
?>
</body>
</html>
O arquivo index foi salvo com a extensão .php para mostrarmos ao nosso interpretador que há um código PHP a ser interpretado. Além disso, no exemplo usamos a função echo para escrever na tela uma mensagem.
Como comentar o código no PHP
Para comentarmos o nosso código PHP usamos duas barras ou # para comentários de uma linha, e para comentários de múltiplas linhas usamos /* */, o mesmo usado no CSS. Observe alguns exemplos na Listagem 2.
<?php
echo "Oi, Eu serei visto na sua tela";
// Eu não! Sou apenas um comentário.
echo "Oi, Eu também serei visto por você";
# Já eu não serei!
echo "E eu aqui novamente na sua tela, rs";
/* Eu não aparecerei na sua tela novamente
pois sou um comentário */
?>
Variáveis no PHP
Para criarmos uma variável basta utilizar o sinal de cifrão. Uma variável pode armazenar textos e números. Além disso, a linguagem PHP é case sensitive, então A é diferente de a. Observe um exemplo de uso de variáveis na Listagem 3.
<?php
$name = "Guilherme";
$age = 20;
echo $name; // Guilherme
echo "</br>";
echo $age; // 20
?>
No exemplo criamos uma variável $name e declaramos a ela uma string, sendo assim precisamos colocá-la entre aspas. Já a outra variável $age é declarada como inteiro, então não é necessário o uso de aspas. Ao usarmos o comando echo nas variáveis, o resultado impresso é o conteúdo dessa variável.
Para a nomeação de variáveis, as dicas a seguir são necessárias:
- Não inicie o nome de uma variável com números;
- Não utilize espaços em brancos;
- Não utilize caracteres especiais, somente underline;
- Crie variáveis com nomes que ajudarão a identificar melhor a mesma;
- Evite utilizar letras maiúsculas.
Falaremos agora sobre alguns dos tipos de variáveis que existem no PHP:
- Booleanos: Este é o tipo mais simples, pois só pode expressar apenas dois valores: TRUE (1) ou FALSE (0, null ou uma string vazia);
- Integer: é um número inteiro, podendo ser negativo ou positivo;
- Float: também chamado de double ou números reais representados com um ponto para separar os dígitos do valor inteiro dos dígitos do valor das casas decimais.
- Strings: é uma palavra ou frase entre aspas simples ou duplas, assim como também pode ser binário, como o conteúdo de um arquivo MP3 ou JPG. Veja os exemplos na Listagem 4.
<?php
$a = "mundo!";
echo "Olá, $a"; // Olá, mundo!
echo 'Olá, $a'; // Olá, $a
?>
Note que quando declaramos no echo "Olá, $a";, o PHP interpretou o conteúdo da variável $a, pois está entre aspas duplas. E quando usamos a mesma forma, só que entre aspas simples echo 'Olá, $a';, não temos o mesmo resultado. Então quando queremos que o PHP interprete o valor de nossa variável dentro de uma string é necessário o uso de aspas duplas.
Além disso, podemos usar um ponto para concatenar strings, assim como o sinal + para o JavaScript, como mostra o código da Listagem 5.
<?php
echo "Olá," . " mundo!";
//Olá, mundo!
?>
Constantes no PHP
O valor de uma constante jamais poderá ser alterado enquanto estiver sendo executada e para defini-la utilizamos a função define() ou const, como mostra a Listagem 6.
<?php
define("PHP", "Linguagem Open - Source");
const HTML = "Linguagem de marcação";
echo PHP; // Linguagem Open - Source
echo HTML; // Linguagem de marcação
?>
Utilizando a função define() ou a palavra reservada const definimos que as constantes com os nomes de PHP e HTML respectivamente, com o valor: Linguagem Open – Source e Linguagem de marcação.
Arrays no PHP
Um array que mantém uma série de elementos que podem ter diferentes tipos, como mostra a Listagem 7.
<?php
$php = array("Zend" => "CERTIFICAÇÃO", 6 => false);
echo $php["Zend"]; // CERTIFICAÇÃO
echo $php[6]; // 0
// Zend é nossa chave e CERTIFICAÇÃO nosso valor
// 6 é nossa chave e false(0) é nosso valor
?>
Note que nossa primeira chave se chama Zend, e a outra chama-se 6, mas quanto a nomeação de chaves de array pode ser tanto string ou um integer. Para o valor pode ser qualquer coisa.
Conversão de tipos
Os tipos de variáveis no PHP são dinâmicos. Para forçarmos os tipos de nossas variáveis utilizamos uma técnica conhecida como type casting, ou simplesmente troca de tipos. Veja na Listagem 8 alguns exemplos.
<?php
$var = 100;
$type_casting = (bool) $var; // torna – se booleano
$type_casting = (int) $var; // torna – se inteiro
$type_casting = (float) $var; // torna – se float
$type_casting = (string) $var; // torna – se string
$type_casting = (array) $var; // torna – se array
echo $type_casting = (bool)$var; // 1
?>
Veja que transformamos o valor da $var, que antes era um inteiro, para um valor booleano.
Vamos conhecer agora operadores, que permitem que nós manipulemos o conteúdo de uma ou mais variáveis.
Operadores Aritméticos no PHP
Podemos utilizar operadores matemáticos para efetuar cálculos com os valores de variáveis, como mostra a Listagem 9.
<?php
$a = 3;
$b = 3;
$c = $a * $b; // resultado é 9
$d = $a + $b; // resultado é 6
$e = $c - $d; // resultado é 3
?>
Criamos as variáveis $a e $b e a partir delas conseguimos fazer vários cálculos matemáticos.
Os operadores matemáticos disponíveis em PHP são:
- Adição: +
- Subtração: -
- Multiplicação: *
- Divisão: /
- Módulo: %
Lembrando que não precisamos especificar os tipos de variáveis no PHP, como nos exemplos a seguir:
<?php
$a = "5"; // string
echo $a + 2; // 7, integer
echo $a + '5 carros'; // 10, integer
?>
Note que $a é uma string e quando demos um echo nela somando com 2, que é um inteiro, o resultado retornado foi 7. Isso demonstra que nossos tipos de variáveis em PHP são sempre dinâmicos. E na linha 4 o PHP reconhece dentro das aspas simples um numeral e com isso executa a operação matemática e exibirá o resultado 10 do tipo inteiro mas não exibindo a palavra "carros".
Operadores de Atribuição no PHP
Utilizamos os operadores de atribuição para definir variáveis e seus valores, além de usá-los juntamente com os operadores matemáticos, como mostra o exemplo da Listagem 10.
<?php
$a = 1; // A variável $a é igual a 1
$a += 2; // Somamos 2 ao valor da $a;
echo $a;
?>
O resultado acima é 3, pois somamos 2 ao valor da $a, que é 1. Na Listagem 11 temos mais exemplos.
<?php
$a -= 2; // Subtraímos 2 ao valor da variável $a;
$a *= 2; // Multiplicamos o valor da variável $a por 2;
$a /= 2; // Dividimos o valor da variável $a por 2.
?>
A sintaxe desses operadores é a mesma do exemplo da soma, pois basta dar um echo depois de ter declarado a variável com seu respectivo operador.
Podemos também incrementar ou decrementar variáveis utilizando os operadores de incrementação, herdados da linguagem C, como nos exemplos da Listagem 12.
<?php
$a = 1;
echo ++$a; // Incrementamos 1 e retornamos o valor
echo $a++; // Retornamos o valor e incrementamos 1
echo --$a; // Decrementamos 1 e retornamos o valor
echo $a--; // Retornamos o valor e decrementamos 1
?>
Operadores Relacionais
Esses são usados para comparar valores ou expressões, retornando um valor booleano (true ou false):
- Igual: ==
- Idêntico: ===
- Diferente: != ou <>
- Menor que: <
- Maior que: >
- Menor ou igual: <=
- Maior ou igual: >=
É importante lembrar que == não checa o tipo da variável, apenas seu valor. Já o === checa tanto o valor da variável quanto o seu tipo.
Operadores Lógicos
Existem também os operadores lógicos para a criação de testes condicionais:
- $a and $b: enquanto A e B forem verdadeiros;
- $a or $b: enquanto A ou B forem verdadeiros;
- $a xor $b: enquanto A ou B forem verdadeiros, mas não os dois;
- !$a: verdadeiro se A for falso;
- $a && $b: enquanto A e B forem verdadeiros;
- $a || $b: enquanto A ou B forem verdadeiros.
Estrutura de Decisão if/else
A condição é avaliada para que, caso algo seja verdadeiro, faça isto, senão, faça aquilo, como mostra a Listagem 13.
<?php
$idade = 17;
if($idade < 18) {
echo 'Você não pode entrar aqui!';
} else {
echo 'Seja bem – vindo';
}
?>
- Na linha 1 criamos a variável $idade que guarda um inteiro.
- Na linha 4 utilizamos IF para verificar se $idade é menor que 18, e caso seja será impresso: "Você não pode entra aqui!"
- Na linha 6 criamos um ELSE, que é o contrário da primeira condição.
Podemos também utilizar os operadores lógicos junto dos operadores relacionais, como mostra a Listagem 14.
<?php
$idade = 21;
$identidade = true;
if($idade > 18 && $identidade == true) {
echo 'Seja bem-vindo!';
}
?>
Estruturas de Decisão (elseif/switch)
Podemos utilizar a estrutura ELSEIF quando criamos uma outra condição, além da principal, como mostra o exemplo da Listagem 15.
<?php
$nome = 'Till Lindemann';
if($nome == 'Richard Kruspe') {
echo 'E ae Richard Kruspe!';
} elseif ($nome == 'Oliver Riedel') {
echo 'E ae Oliver Riedel!';
} elseif ($nome == 'Till Lindemann') {
echo 'E ae Till Lindemann!';
} else {
echo "E ae $nome!";
}
?>
Declaramos para $nome uma string e depois fizemos várias condições, onde caso não caia em nenhum elseif, será retornado o valor que estiver dentro da $nome.
O ELSEIF pode ser muito útil, mas o mesmo é aconselhável usar apenas quando temos poucas condições. Caso contrário, para não manter um código cheio de ELSEIF's, o mais indicado é usar o SWITCH, que permite criarmos infinitas condições de forma organizada. Veja na Listagem 16.
<?php
$nome = 'Fulano';
switch($nome) {
case 'Fulano':
echo 'E ai Fulano!';
break;
case 'Sicrano':
echo 'E ai Sicrano!';
break;
case 'Beltrano':
echo 'E ai Beltrano!';
break;
default:
echo 'Qual é o seu nome?';
break;
}
// Resultado é: E ai Fulano!
?>
No exemplo foi criada $nome declarando a ela uma string. É verificado a variável passada em switch entre parênteses: caso o valor contido na variável seja o que estiver em "case", será impresso o que conter no echo já pré-definido, e o break para a verificação. Caso não seja na primeira condição, será verificado todas as demais condições até chegar na última, que perguntará o seu nome. Na sintaxe básica do Switch atente-se sempre ao “:” no case e os “;” depois do echo e break.
Operador Ternário no PHP
No PHP existe uma forma mais curta de criar condições através do Operador Ternário, como mostra a Listagem 17.
<?php
$number1 = 1;
$number2 = 2;
if($number2 > $number1) {
$a = 'Número 2 é maior que número 1';
} else {
$b = 'Número 2 não é maior que número 1';
}
$ternario = ($number2 > $number1) ?
'Número 2 é maior que número 1' : 'Número 2 não é maior que número 1';
echo $ternario; // Número 2 é maior que número 1
?>
Criamos duas variáveis e a partir delas fizemos verificação com if/else e da forma ternária também. Na $ternario passamos a condição que tem o mesmo valor que o if entre parênteses e o ponto de interrogação faz a pergunta: $number2 é maior $number1?
Caso seja, será impresso o que vier depois desse ponto. Caso $number2 não seja maior que $number1, será impresso o que estiver depois dos “:” que tem o mesmo valor que else. Sendo assim, podemos comparar qual forma é mais simples com esses dois exemplos.
Arrays Associativos
Quando criamos um array, por padrão, ele recebe chaves numéricas incrementadas automaticamente de acordo com novos valores. Contudo, podemos criar chaves que são strings, daí chamamos de array associativo. Para explicar melhor, faremos um exemplo em que mostraremos a temperatura média de alguns meses do ano, como mostra a Listagem 18.
<?php
$estacao = array('Verao' => 'de 21 de dezembro a 21 de março',
'Outono' => 'de 21 de março a 21 de junho',
'Inverno' => 'de 21 de junho a 23 de setembro',
'Primavera' => 'de 23 de setembro a 21 de dezembro');
?>
Observem que nossos valores agora possuem nomes. Podemos utilizar estes nomes para nos referenciarmos a um valor especifico dentro de um array. Veja como fica na prática o exemplo:
<?php
$estacao = array('Verao' => 'de 21 de dezembro a 21 de março',
'Outono' => 'de 21 de março a 21 de junho',
'Inverno' => 'de 21 de junho a 23 de setembro',
'Primavera' => 'de 23 de setembro a 21 de dezembro');
echo "A estação Verão foi: {$estacao['Verao']}";
// A estação Verão foi: de 21 de dezembro a 21 de março
?>
Como sabemos, a sintaxe de um array é chave => valor. Note que demos um echo assim: {$estacao['Verao']}, onde $estacao contém um array que tem uma chave chamada Verao e contém o valor: de 21 de dezembro a 21 de março. Sendo assim, será impresso o valor da chave especificada.
Existem maneiras diferentes de utilizar variáveis dentro de strings e vice-versa, concatenadas ou não concatenadas, como mostra a Listagem 19.
<?php
$ensino = 'EAD';
$formacao = array('PHP' => 'Desenvolvedor PHP', 'Infra' => 'SysAdmin Linux');
// Não concatenadas
echo "<p>No $ensino da DevMedia você se torna {$formacao['PHP']}";
echo " e pode se tornar também {$formacao['Infra']}.</p>";
// Concatenadas
echo '<p>No ' . $ensino . ' da DevMedia você se torna ' . $formacao['PHP'];
echo ' e pode se tornar também '. $formacao['Infra'] . '.</p>';
?>
No exemplo o resultado será o mesmo, apenas mostramos a utilização de uma variável e um array com concatenação ou não concatenado para mostrar seus valores. Tente usar sempre a forma não concatenada: você pode notar que nosso código ficou bem mais limpo.
Arrays Multidimensionais
Arrays multidimensionais são, basicamente, array dentro de um array, como mostra a Listagem 20.
<?php
$temp = array(
'2010' => array(
'Outubro' => 25,
'Novembro' => 23,
'Dezembro' => 20),
'2011' => array(
'Outubro' => 26,
'Novembro' => 22,
'Dezembro' => 21),
'2012' => array(
'Outubro' => 27,
'Novembro' => 28,
'Dezembro' => 19)
);
echo "Dezembro de 2012 foi de: {$temp['2012']['Dezembro']} graus";
// Dezembro de 2012 foi de: 19 graus
?>
Veja que criamos a $temp que guarda um array. Em nosso exemplo, o array com o nome de 2010 guarda os valores Outubro, Novembro e Dezembro em um outro array, que por sua vez, guarda outros valores, que são a temperatura. Veja que demos um echo em {$temp['2012']['Dezembro']} onde $temp guarda um array 2012 e inicia um outro array que contém a chave dezembro e que tem o valor que queremos.
Criando Arrays de uma forma alternativa
Podemos criar arrays de uma forma simples e rápida utilizando o operador [ ], como mostra a Listagem 21.
<?php
$number1 = array(100, 101, 102);
$number1[] = 103;
$number2[] = 104;
print_r($number1);
echo '<hr/>';
print_r($number2);
?>
Através dos colchetes conseguimos acrescentar dados a um array. No caso da $number1 temos um array com os valores 100, 101, 102. Quando declaramos $number1[] = 103; estamos dizendo que queremos acrescentar no array $number1 o valor 103.
Podemos também alterar os valores de um array usando colchetes, como no código da Listagem 22.
<?php
$cert = array('EAD' => 'Você terá um certificado ', 'PHP' => 'Linux');
$cert['PHP'] = 'Zend';
print_r($cert);
?>
Temos a $cert que contém um array com chave => valor. Quando dizemos $cert['PHP'] = 'Zend', estamos dizendo para o PHP que queremos alterar o valor da chave PHP para Zend.
Laços de Repetição
Os loops no PHP são estruturas de controle muitos importantes que permitem efetuar um laço de repetição enquanto uma determinada condição for verdadeira.
Existem quatro tipos de loop no PHP são eles: while, do while, for e foreach.
While
O while permite que executemos um bloco de código enquanto a expressão passada como parâmetro for verdadeira, como mostra a Listagem 23.
<?php
$num = 0;
while($num < 10 ) {
echo $num++;
}
// 0123456789
?>
Declaramos a $num o valor 0. Nossa expressão no while então incrementa a essa variável enquanto $num for menor que 10.
Do while
O do while tem a mesma ideia que o while: a diferença é que ele avalia a expressão depois de executar algo. Com isso, será garantido que o código será executado mesmo que a expressão seja falsa, como mostra o exemplo da Listagem 24.
<?php
$cont = 2000;
do{
$dobro = $cont + $cont;
echo "O dobro de $cont é $dobro";
$cont++;
} while ($cont <= 1999);
?>
A sintaxe básica do DO WHILE é primeiro executar o que colocamos entre as chaves do DO.
FOR
O for é igual ao while e ao do while, permitindo que executemos três operações em sua condição, separadas por ponto e vírgula.
A primeira é executada ao início do loop, a segunda é a condição (enquanto ela for verdadeira, o loop continuará), e a terceira é executada ao fim de cada repetição, como mostra o exemplo da Listagem 25.
<?php
for($a = 1; $a <= 10; $a++){
$cubo = $a * $a * $a;
echo "O cubo de $a é $cubo<br />";
}
?>
Entre parênteses temos $a que guarda 1. Depois verificamos se $a for menor ou igual a 10 e, por último, incrementamos $a. Dentro das chaves do FOR criamos uma variável que traz o cubo de $a para nós e quando demos um echo será mostrado o cubo dos números de 1 a 10.
Foreach
O Foreach faz o mesmo que as demais estruturas já apresentadas, porém, com ela podemos trabalhar com arrays, como mostra o exemplo da Listagem 26.
<?php
$ead = array('Aqui na DevMedia ', 'você se torna um ', 'desenvolvedor PHP');
foreach($ead as $can){
echo "$can";
}
//Aqui na DevMedia você se torna um desenvolvedor PHP
?>
No exemplo é criado um array e depois usamos o foreach para ir nesse array e repetir tudo o que conter nele. A sintaxe do foreach é mostrada entre parênteses onde colocamos o nome de nossa variável, e com o termo as alteramos o nome dela para $can. Depois, basta dar um echo que tudo que conter em nosso array será mostrado.
Na Listagem 27 utilizamos o loop em um array que contém chave =>valor.
<?php
$temp = array('Outubro' => 27, 'Novembro' => 28, 'Dezembro' => 19);
foreach($temp as $chave => $valor) {
echo "A temperatura média de $chave foi de $valor graus<br />";
}
?>
Quando formos utilizar o foreach em um array que contém chave e valor é necessário a sintaxe que vemos entre parênteses.
Assim como temos os arrays multidimensionais, assim também temos foreachs multidimensionais, que são foreachs dentro de foreachs, como mostra o exemplo da Listagem 28.
<?php
$temp = array(
'2010' => array(
'Outubro' => 25,
'Novembro' => 23,
'Dezembro' => 20),
'2011' => array(
'Outubro' => 26,
'Novembro' => 22,
'Dezembro' => 21),
'2012' => array(
'Outubro' => 27,
'Novembro' => 28,
'Dezembro' => 19)
);
foreach($temp as $ano => $meses){
echo "Temperaturas em $ano<br />";
foreach($meses as $mes => $temp) {
echo "$mes: $temp graus<br />";
}
}
?>
Veja que criamos um array e dentro dele vários outros arrays que guardam temperaturas de meses de um determinado ano. Quando utilizamos o foreach mostraremos o ano da temperatura e quantos graus no mês especificado.
Quebrando loops
Enquanto estamos dentro de um loop, podemos utilizar duas instruções: continue e break. Elas permitem que nós quebremos os laços de repetição.
Veja na Listagem 29 um exemplo da Continue.
<?php
for($a = 1; $a <= 10; $a++){
if($a == 3) {
continue;
}
$cubo = $a * $a * $a;
echo "O cubo de $a é $cubo<br />";
}
//O cubo de 1 é 1
//O cubo de 2 é 8
//O cubo de 4 é 64
//O cubo de 5 é 125
//O cubo de 6 é 216
//O cubo de 7 é 343
//O cubo de 8 é 512
//O cubo de 9 é 729
//O cubo de 10 é 1000
?>
Note que não aparece o cubo de 3, pois fizemos a seguinte verificação: if($a == 3) {continue;}.
Na Listagem 30 vemos um exemplo da instrução Break.
<?php
for($a = 1; $a <= 10; $a++){
if($a == 3) {
break;
}
$cubo = $a * $a * $a;
echo "O cubo de $a é $cubo<br />";
}
//O cubo de 1 é 1
//O cubo de 2 é 8
?>
O break para o loop, então veja que só é mostrado o cubo de 1 e 2. Isso porque colocamos a verificação if($a == 3) {break;}, ou seja, chegou no 2 e deu um break.
Links Úteis
- O que é PHP?:
O PHP (um acrônimo recursivo para PHP: Hypertext Preprocessor) é uma linguagem de script open source de uso geral, muito utilizada, e especialmente adequada para o desenvolvimento web e que pode ser embutida dentro do HTML. - Wiki PHP:
PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web. - Curso de PHP para Iniciantes:
Neste curso de PHP para iniciantes veremos os princípios de desenvolvimento, como funções nativas do PHP, estruturas de controle, variáveis, orientação a objetos e acesso a banco de dados, sempre utilizando exemplos para explicar cada item.
Saiba mais sobre PHP ;)
- PHP: Utilizando os operadores break e continue:
Aqui apresentamos as estruturas de controle break e continue. Com elas podemos interromper uma estrutura de repetição ou mover o cursor para a próxima iteração. - Documentação: PHP: Modificadores de acesso:
Neste documento você encontrará o conteúdo que precisa para aprender o que são e para que servem os modificadores de acesso na linguagem PHP. - Linguagem PHP:
Neste Guia de Consulta você encontrará todo o conteúdo que precisa para aprender PHP, uma linguagem de programação amplamente utilizada para a construção de aplicações web.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo