Como começar a usar o PHP - um tutorial para iniciantes
PHP é uma das linguagens de programação mais comuns para programação no lado do servidor. Com o tempo, ele se tornou parte integrante dos sites contemporâneos e das tecnologias da Internet. No entanto, dominar o PHP pode ser difícil para os novatos. Neste tutorial de PHP, mostraremos os conceitos básicos da popular linguagem de programação e seus mais importantes operadores, loops e funções.
O que você precisa ter antes de iniciar o tutorial de PHP
Nosso tutorial é voltado principalmente para iniciantes. No entanto, ter um conhecimento básico de desenvolvimento moderno da Web e HTML pode ser útil. Para acompanhar e reproduzir os exemplos em seu próprio computador, certifique-se de ter preparado o seguinte:
- Servidor da Web, incluindo Interpretador PHP
- PHP instalado
- Navegador da Web
- Editor de texto
Como servidor, recomendamos o ambiente de teste local XAMPP, que a Apache Friends fornece gratuitamente para os sistemas operacionais Windows, Linux e macOS. O XAMPP é um servidor de teste puro. Os desenvolvedores da Web podem usar o software para configurar ambientes de teste para scripts, páginas HTML e folhas de estilo com facilidade. Entretanto, a operação segura do servidor da Web na Internet não é garantida. Instruções detalhadas de instalação podem ser encontradas em nosso Tutorial do XAMPP.
Qual é a sintaxe do PHP?
Depois de configurar seu servidor da Web local (, por exemplo, usando o XAMPP), é uma boa ideia testar se o PHP foi instalado corretamente e se está pronto para executar scripts. Um script é um programa que não é compilado em código binário. Em vez disso, eles são executados por um interpretador. Abra seu editor de texto preferido **** e aplique o seguinte script PHP:

Os scripts PHP seguem uma estrutura específica. A tag PHP de abertura <?phpinicia umambiente de script. Isso é seguido pelo código PHP real na forma de instruções. No exemplo acima, essa é a chamada para a funçãophpinfo(). A maioria das funções PHP exige um ou mais parâmetros, que são colocados entre parênteses. Forphpinfo(), esses parâmetros são opcionais:phpinfo(INFO_ALL). Cada instrução termina com um ponto e vírgula (;). Para concluir o script, use a tag PHP de fechamento: ?>.
As funções são sub-rotinas que possibilitam a terceirização de partes do código do programa. Para evitar a repetição, as tarefas recorrentes podem ser definidas uma vez como uma função e depois chamadas usando um nome de função. Os desenvolvedores da Web usam funções PHP predefinidas para essa finalidade ou criam suas próprias sub-rotinas.
Salve o arquivo de texto com o nome test no formato .php (PHP script) e inicie seu servidor da Web. Se estiver usando o ambiente de teste XAMPP, salve test.php no diretório XAMPP em *htdocs *(C:\xampp\htdocs).
Você pode acessar o arquivo de amostra por meio do seguinte URL no navegador da Web: http://localhost/test.php
. Se você usar um servidor da Web alternativo ou uma configuração individual do software XAMPP, selecione o URL de acordo com o respectivo caminho do arquivo.
Ao digitar o URL http://localhost/test.php
, você solicita que o navegador da Web solicite o arquivo test.php do servidor da Web. O Apache HTTP Server (ou qualquer tipo de software de servidor da Web que você esteja usando) recupera o arquivo no diretório apropriado. A extensão .php significa que o arquivo contém código PHP. Nesse ponto, o interpretador PHP integrado ao servidor da Web se torna ativo. Ele processa o documento, encontrando a tag PHP de abertura <?php
, que sinaliza o início do código PHP. O interpretador executa o código PHP, gerando uma saída HTML que o servidor da Web transmite ao navegador da Web para exibição.
Se o PHP tiver sido instalado corretamente, a execução do script resultará na seguinte página da Web:

The phpinfo() function é uma abreviação da função padrão phpinfo( INFO_ALL ). Isso gera informações detalhadas sobre a configuração do PHP de seu servidor da Web. Se nenhuma versão do PHP for encontrada, o navegador da Web exibirá uma mensagem de erro ou fornecerá o código PHP ao navegador sem interpretá-lo.
“Hello World!” - Como gerar texto por meio de echo
Depois de instalar o PHP com sucesso, é hora de escrever seu primeiro script. Você pode usar o PHP echo para fazer isso. Ao contrário de phpinfo(), echo não é uma função. Em vez disso, é uma construção de linguagem que permite que uma cadeia de caracteres subsequente seja exibida como texto.
As construções de linguagem são declarações usadas no PHP para controlar o fluxo do programa. Além de echo, language constructs incluem declarações como if, for, do, include, return, exit ou the. Ao contrário das funções, não são necessários parênteses.
Para seu primeiro script personalizado, crie um novo arquivo PHP e insira o seguinte código:
A tag de abertura <?php
inicia um ambiente de script. Ela é seguida pela construção de linguagem echo e pela string Hello World!, que está entre aspas simples. Use a tag ?>
para encerrar o script. Observe o ponto e vírgula após a declaração. Qualquer texto pode ser usado no lugar de Hello World!.
Salve o script como hello.php dentro do diretório htdocs do seu servidor da Web. Em seguida, acesse o arquivo usando o URL http://localhost/hello.php
no navegador da Web. Se o código tiver sido transferido com precisão, a janela do navegador deverá exibir a cadeia de caracteres que você usou:

Qualquer texto que você gere com echo pode incorporar tags HTML, conforme necessário. Essas tags serão interpretadas pelo navegador da Web de acordo com as especificações HTML. Faça experiências com esse conceito usando o seguinte script, por exemplo:
Quando chamado no navegador da Web, o resultado da execução do script é exibido da seguinte forma.

O texto Hello World!, que está contido em <h1>
tags, é interpretado pelo navegador da Web como um título principal. Isso é sucedido por uma quebra automática de linha e pelo parágrafo de texto entre as <p>
tags.
Dependendo de suas necessidades, você pode usar echo com aspas simples (’) ou aspas duplas (“). Se estiver produzindo apenas texto, a escolha das aspas não importa. Entretanto, essa distinção se torna significativa ao lidar com variáveis PHP.
Variáveis
A construção de linguagem echo oferece mais do que apenas a exibição de texto. Embora a apresentação de texto já possa ser realizada com eficiência usando HTML. A verdadeira vantagem de usar a construção da linguagem PHP echo está em sua capacidade de produzir texto dinamicamente usando variáveis **.
Os usuários de PHP frequentemente encontram variáveis no seguinte formato: $example
Cada variável consiste em um sinal de dólar ($) seguido pelo nome da variável. As variáveis são utilizadas nos scripts PHP para incorporar dados externos às páginas da Web. Elas podem abranger diversos tipos de valores, desde números básicos e cadeias de caracteres até textos completos ou estruturas de documentos HTML. O PHP faz distinção entre sete tipos diferentes de variáveis:
Tipo de variável | Description |
---|---|
String | Uma string é uma sequência de caracteres. Ela pode representar uma palavra, uma frase, um trecho de texto ou até mesmo o código HTML inteiro de uma página da Web. |
Integer | Um número inteiro é um número inteiro sem casas decimais. Pode ser positivo ou negativo. |
Float | Um float é um número de ponto flutuante. Trata-se de um valor numérico com casas decimais. O PHP suporta até 14 dígitos após o ponto decimal. |
Boolean | Variáveis booleanas são o resultado de uma operação lógica e conhecem apenas dois valores: TRUE (true) and FALSE (false). Esse tipo de variável é usado ao trabalhar com condições. |
Array | Um array é uma variável que pode conter vários elementos. É um agrupamento de vários dados estruturados de forma semelhante que foram combinados em uma matriz. |
Objeto | O tipo de variável objeto permite que os programadores definam seus próprios tipos de dados. Ele é usado na programação orientada a objetos. Incluímos object variáveis neste tutorial de PHP. |
NULL | O valor NULL representa uma variável sem valor. Para variáveis desse tipo, NULL é o único valor possível. |
A centralização de conteúdo é normalmente gerenciada por meio de sistemas de banco de dados. No entanto, os valores das variáveis também podem ser atribuídos diretamente no script. Esse tipo de atribuição usa o seguinte padrão:
O cifrão é sucedido pelo nome da variável (nesse caso exemplo). Ele é vinculado pelo sinal de igual (=) com um valor entre aspas duplas. Os valores de variáveis dos tipos inteiro e float são escritos sem aspas (por exemplo, $example = 24;e$example = 2.7;).
O PHP oferece flexibilidade ao nomear variáveis. Entretanto, algumas restrições se aplicam:
- Cada variável começa com um cifrão.
- Um nome de variável é qualquer sequência de letras, números e sublinhados (Por exemplo, $example_1).
- Um nome de variável válido sempre começa com uma letra ou um sublinhado ($example1 ou $_example), nunca com um dígito (wrong: $1example).
- O PHP é sensível a maiúsculas e minúsculas. A linguagem de script faz distinção entre maiúsculas e minúsculas ($example ≠ $Example).
- O nome da variável não deve conter espaços ou quebras de linha (wrong: $example 1).
- Strings reservadas pelo PHP para outros propósitos não podem ser usadas como variáveis definidas pelo usuário (por exemplo, $this)
Vamos ilustrar isso com um exemplo:
A tag PHP de abertura é seguida pela definição da variável. Nesse caso, $author recebe o valor John Doe. Após a execução do script, cada instância da variável $author dentro do script é substituída pelo valor John Doe no ambiente do script. Uma representação visual desse processo no navegador da Web é ilustrada no diagrama a seguir:

Se a página da Web deveria ser atribuída a Max Mustermann, colega alemão de John Doe, e não a John Doe, você pode corrigir isso alterando a variável $author .

Isso é particularmente eficiente se uma variável ocorrer várias vezes em um script. Nesse caso, uma correção só precisaria ser feita em um único ponto. Ou seja, onde o valor da variável é definido.
Isso ilustra a proeza do PHP: O conteúdo pode ser incorporado usando variáveis. Essa característica forma a base do desenvolvimento dinâmico da Web. Diferentemente das páginas estáticas da Web, que existem como páginas HTML pré-renderizadas, as páginas dinâmicas da Web são geradas somente quando a página é acessada. O interpretador PHP recupera elementos distintos da página da Web solicitada de vários bancos de dados por meio de variáveis e os compila em uma página HTML personalizada que se alinha à solicitação específica.
Os benefícios dessa abordagem são evidentes. Quando elementos do site (, por exemplo, na seção de rodapé) , são modificados, não são necessários ajustes manuais em cada subpágina individual. A atualização do registro correspondente no banco de dados é suficiente. Como resultado, as revisões são aplicadas automaticamente a todas as páginas da Web que apresentam os dados pertinentes como variáveis. Se uma variável for definida várias vezes em um script, a nova definição substituirá a anterior. Um echo subsequente sempre gera o valor atual de uma variável.

No exemplo de código, a variável $author foi primeiro atribuída ao valor John Doe e depois substituído pelo valor Max Mustermann.
Agora vamos ao assunto dos marcos de citação. Ao contrário das cadeias de caracteres, as variáveis simples não precisam ser colocadas entre aspas:
Exceto quando a variável precisa ser usada em uma cadeia de caracteres. Nesse caso, trabalhe com aspas duplas (“). Isso instrui o interpretador do PHP a procurar variáveis na cadeia de caracteres e substituí-las pelos valores correspondentes, conforme necessário. Strings entre aspas simples (’) são interpretadas e renderizadas como informações de texto simples, mesmo quando envolvem variáveis.

Agora você deve estar se perguntando o que acontece se omitir completamente as aspas. Nesse caso, o PHP aponta para um erro sintático.
Mensagens de erro e mascaramento
Se ocorrerem erros sintáticos , não haverá código PHP válido e o interpretador do PHP emitirá uma mensagem de erro. Isso pode ser esperado, por exemplo, se você usar a instrução echo com uma string sem aspas:
Na maioria dos casos, as mensagens de erro contêm informações sobre onde ocorreu um erro, fornecendo informações importantes sobre como eliminá-lo.

No exemplo atual, suspeita-se de um erro na linha 2 do código do nosso programa. Foi exatamente nesse ponto que omitimos as aspas.
Os erros sintáticos também ocorrem quando você deseja gerar caracteres como texto que estão associados a uma tarefa específica no PHP. Um exemplo disso são as aspas (’). Caracteres como esse só podem ser exibidos como texto no PHP se você indicar ao interpretador que a função inerente do caractere foi neutralizada. No caso das aspas simples, há duas maneiras de fazer isso. Você pode colocar uma string de aspas simples entre aspas duplas ou pode mascarar as aspas com uma barra invertida anterior (\):

A combinação de aspas simples e duplas também é uma abordagem viável:
No entanto, não esta ortografia:
Os espaços entre as aspas foram inseridos nos exemplos para fins de legibilidade.
Operadores de concatenação
Para gerar várias variáveis em um script PHP ao mesmo tempo, você pode usar o que aprendeu até agora e fazer o seguinte:
Basta escrever as duas variáveis na string entre aspas duplas junto com o restante do texto a ser gerado. O PHP reconhece automaticamente as variáveis pelo sinal de dólar ($) e insere os valores apropriados.

Entre os programadores, no entanto, esse procedimento é considerado impuro. Há uma regra de programação segundo a qual variáveis não devem fazer parte da string. Um motivo para isso é que muitas linguagens de programação exigem essa separação. Mais importante ainda, o PHP também exige que você separe string e variável ao trabalhar com chamadas de função ou variáveis mais complexas. Por isso, é melhor mantê-las separadas também na saída de texto simples, mesmo que isso não seja exatamente necessário nesse caso.
Ao trabalhar com variáveis, você sempre terá de lidar com vários elementos que precisam ser concatenados durante a saída. No PHP, o operador de concatenação *** (.*) é usado para essa finalidade. Se programado de forma “limpa”, o código do exemplo acima deverá ter a seguinte aparência:

Aqui estamos lidando com três strings e duas variáveis que foram concatenadas em uma string.
String1 | Variable1 | String2 | Variable2 | String3 | ||||
---|---|---|---|---|---|---|---|---|
’<h1>Hello World!</h1> <p>Esta página da Web dinâmica foi criada por ’ |
. | $author1 | . | ’ e ’ | . | $author2 | . | ’.</p>’ |
É importante mencionar que um operador de concatenação mescla cadeias de caracteres ou variáveis sem introduzir espaços. Se um espaço for pretendido, ele precisa ser explicitamente incluído entre aspas na cadeia de caracteres, conforme demonstrado no exemplo.
Os programadores empregam o operador de concatenação não apenas para combinar cadeias de caracteres e variáveis para saída textual, mas também para estender variáveis. O exemplo a seguir ilustra como isso é feito:
Para estender o valor de uma variável, defina-a novamente, mas coloque o operador de concatenação dot (.) antes do sinal de igual. Essa é a notação comum de shorthand para $example = $example . ‘world’.
O PHP anexará o novo valor ao valor definido anteriormente. Se você quiser um espaço entre os dois valores, escreva-o no final da primeira cadeia de caracteres, como no exemplo.

Incorporar PHP em HTML
Em princípio, o interpretador do PHP só se interessa pelo código que está entre uma tag PHP de abertura e uma de fechamento:
<?php [This section is parsed by the PHP interpreter] ?>
O interpretador ignora todas as seções restantes do documento e as encaminha para o servidor da Web sem alterá-las. Como resultado, o código PHP pode ser incorporado sem problemas em documentos HTML conforme necessário, por exemplo, ao criar modelos para sistemas de gerenciamento de conteúdo. É fundamental salvar os documentos HTML que contêm código PHP com a extensão de arquivo PHP. Caso contrário, o documento será apresentado diretamente ao navegador da Web sem passar pelo pré-processamento do interpretador PHP. Esse cenário faria com que o código ficasse visível como texto no site.
Você pode pensar no interpretador PHP como o colega preguiçoso do servidor da Web, que só trabalha quando é explicitamente solicitado a fazê-lo, por exemplo, por uma tag PHP de abertura.
Para combinar HTML e PHP, escreva sua página HTML na estrutura clássica de documentos e salve-a com a extensão de arquivo .php:
Agora, adicione um script PHP ao seu documento HTML. Certifique-se de que todo o código esteja dentro das tags PHP.
Nesse caso, mesclamos a construção de linguagem echo com a função PHP date() para gerar a data e a hora atuais como texto do lado do servidor. O parâmetro da função designa o formato preferencial, indicado como uma cadeia de caracteres:
d.m.Y H:i:s = dia.mês.ano hora:minuto:segundo.
Quando um navegador da Web solicita esse arquivo, o interpretador PHP executa inicialmente o script, incorporando a hora atual como texto no documento HTML. Em seguida, o servidor da Web transmite esse documento, que é exibido no navegador como uma página da Web.

Função de comentário PHP
Semelhante ao código HTML, você também pode deixar comentários em seu código PHP. Os comentários no código-fonte são desconsiderados pelo interpretador do PHP, desde que obedeçam às regras de sintaxe. O PHP oferece três métodos distintos para comentários.
Para designar uma linha inteira como um comentário e, assim, excluí-la da interpretação, você pode utilizar a hashtag (#) ou duas barras consecutivas * (//*)**. Ambas as opções são usadas no exemplo de código a seguir:
O editor de texto Notepad++ destaca os comentários em verde. Diferentemente dos comentários em HTML, as seções de texto rotuladas como comentários no ambiente de script não chegam ao navegador da Web. Essa distinção ocorre porque o interpretador PHP já as desconsidera durante a execução do script.

Além disso, você pode inserir comentários que se estendem por várias linhas. Para fazer isso, marque o início de uma seção de comentários com uma barra seguida de um asterisco (/*) e o final com um asterisco seguido de uma barra (*/).
Esses comentários não são analisados e não são exibidos no site.

Os programadores usam comentários para estruturar o código-fonte de seus scripts, deixar notas para edição posterior edição posterior ou adicionar informações internas à compilação, como o autor ou a data. Os comentários são opcionais e devem ser utilizados com moderação para garantir a boa legibilidade do código-fonte.
Cálculo com variáveis
Em nosso tutorial de PHP, você já encontrou variáveis, que contêm principalmente valores de cadeia de caracteres. Agora, vamos nos aprofundar nas variáveis que representam inteiros ou floats. Quando as variáveis armazenam valores numéricos, o PHP permite a realização de cálculos com elas. Vamos começar com a adição de dois números inteiros:
Primeiro, atribuímos os números inteiros 237 e 148 às variáveis $number1 e $number2 e, em seguida, definimos a variável $result. Isso é usado para armazenar a soma das variáveis $number1 e $number2. Para essa operação, usamos o operador aritmético +(plus). Por fim, emitimos a soma como texto usando a construção de linguagem* echo* . Observe que não é necessário usar aspas ao atribuir valores numéricos a variáveis.

O exemplo de código a seguir mostra uma seleção de cálculos matemáticos que podem ser executados no lado do servidor com o PHP. Os operadores PHP usados correspondem, em sua maior parte, a símbolos matemáticos padrão.
Operador aritmético | Operation | Result |
---|---|---|
$number1 + $number2 | Addition | Soma de $number1 e $number2 |
$number1 - $number2 | Subtração | Diferença de $número1 e $número2 |
$number1 *$number2 | Multiplicação | Produto de $número1 e $número2 |
$number1 / $number2 | Divisão | Quociente de $número1 e $número2 |
$número1 **$número2 | Power | $number2-th power of $number1 |

Para cálculos complexos, várias operações aritméticas podem ser combinadas em um único script:
O interpretador PHP determina os valores das variáveis e faz os cálculos:
2 *10 + 5* 5 - 3 * √81 = 20 + 25 - 27 = 18
A função sqrt() calcula a raiz quadrada do parâmetro entre colchetes. O clássico ordem de classificação de operadores da matemática se aplica: ponto antes do traço. A instrução echo produz o resultado como uma string para o navegador da Web.

O PHP também avalia termos entre colchetes primeiro. Desta vez, trabalharemos com números de ponto flutuante:

Como todas as linguagens de programação comuns, o PHP permite operadores para incrementar ou decrementar valores numéricos pelo valor 1. É feita uma distinção entre o operador de pré-incremento, o operador de pré-decremento, o operador de pós-incremento e o operador de pós-decremento.
Operation | Operator | Result |
---|---|---|
Pre-increment | ++$number | O operador ++++ incrementa o valor da variável $number. O valor é incrementado em 1. O resultado é retornado como o novo valor de $number. |
Pre-decrement | –$number | O operador – diminui o valor da variável $number. Isso diminui o valor em 1. O resultado é retornado como o novo valor de $number. |
Post-increment | $number++ | O valor atual de $number é primeiro retornado e, em seguida, incrementado em 1. |
Post-decrement | $number– | O valor atual de $number é primeiro retornado e depois diminuído pelo valor 1. |
Primeiro, ilustraremos como executar operações aritméticas com operadores de incremento e decremento fornecendo um exemplo com pré-incremento. O script a seguir incrementa o valor da variável $number em 1, armazena o novo valor na variável $result e, em seguida, gera seu valor como uma cadeia de caracteres:
Se você aumentar o valor 0 por 1, obterá o resultado 1.

Para calcular o pré-decremento da variável $number, usamos os mesmos scripts, mas trocamos o operador de pré-incremento (++) por um operador de pré-decremento (–):
Aqui, diminuímos o valor 0 da variável $number e obtemos o resultado -1.

Um aumento antes e depois da saída (pre- vs. post-…) de um valor pode ser demonstrado com o seguinte script:
Em ambos os casos, obtemos o mesmo resultado. Com o pré-incremento, o valor de x é aumentado antes da saída na linha 3, enquanto que com o pós-incremento, ele é incrementado após a saída na linha 5.

Como usar as superglobais $_GET e $_POST
Agora você está familiarizado com os fundamentos do PHP. Você pode trabalhar com variáveis, concatenar e realizar cálculos. A seguir, ilustraremos o papel fundamental das variáveis no scripting.
Uma função importante das linguagens de script é sua capacidade de avaliar a entrada do usuário e transferir os valores para outro script. O PHP depende das superglobais $_GET e $_POST-predefinidasvariáveis de sistemadisponíveis em todos os escopos-para a transferência de dados. Como arrays associativos (campos de dados),$_GET e $_POST armazenam um conjunto de variáveis na forma de strings em uma variável.
As matrizes do PHP podem ser comparadas a um armário com várias gavetas. Cada uma dessas gavetas oferece um espaço para armazenar dados. Para manter a clareza sobre o conteúdo de cada gaveta, você as marca com um nome de variável. Dependendo do tipo de array, esse identificador pode ser um índice ou uma chave. Nas matrizes indexadas, você atribui um índice numérico a cada gaveta, enquanto nas matrizes associativas, você rotula as gavetas usando uma chave baseada em cadeia de caracteres.
As superglobais $_GET e $_POST abrangem uma coleção de variáveis representadas como chaves, permitindo o acesso aos valores correspondentes. Vamos nos aprofundar mais nesse assunto quando explorarmos as $_GET e $_POST superglobais em profundidade.
Transferência de dados via $_GET
A superglobal $_GET representa uma matriz de variáveis que são passadas para um script PHP usando um URL.
Se você passa algum tempo em blogs ou emlojas on-lineefóruns da Internet, deve ter notado alguns URLs estranhos. Normalmente, eles são estruturados de acordo com o seguinte esquema:
http://hostname/ordner/filename.php?variablenname=variablevalue
Para um blog, o esquema pode ser parecido com este:
http://www.example-blog.com/index.php?id=1
A decomposição desse URL é relativamente simples. Em um servidor da Web que tenha o domínio example-blog.com , há um arquivo chamado index.php. Esse arquivo é usado para criar páginas dinâmicas da Web e normalmente contém código HTML e PHP, além de referências a arquivos de modelos externos e folhas de estilo - essencialmente, todos os componentes necessários para a exibição da página da Web.
A adição de id=1 em um URL é uma maneira comum de saber se uma página da Web é dinâmica. Você o encontrará localizado após o ponto de interrogação (?) em um URL. Esse componente é conhecido como uma string de consulta HTTP e contém uma variável (id) e um valor (1), que são vinculados por um sinal de igual (=). Parâmetros de URL dessa natureza são empregados para gerar páginas da Web dinâmicas, recuperar o conteúdo do banco de dados e acionar modelos apropriados.
Os sites dinâmicos permitem a separação do conteúdo e da apresentação. Embora o index.php contenha as informações sobre a estrutura de um site, ele ainda precisa ser preenchido com conteúdo. Esses conteúdos geralmente são armazenados em um banco de dados e podem ser acessados usando parâmetros na string de consulta HTTP. No exemplo, a URL do index.php passa o parâmetro id=1. Isso especifica qual conteúdo deve ser lido do banco de dados e carregado em index.php. No contexto de um blog, pode ser o ID de um artigo; em um fórum, uma determinada postagem. Em uma loja on-line, pode ser um produto específico.
Se um URL contiver mais de um parâmetro, eles serão conectados com um ampersand (&).
www.example-blog.com/index.php?page=article&id=1
A seguir, mostraremos como usar $_GET. Para o exemplo, não é necessário usar um banco de dados. No script a seguir, usamos a superglobal $_GET para ler os valores das variáveis firstnameelastname de uma string de consulta HTTP e gravá-los nas variáveis PHP $variable1 e $variable2:
O script é chamado pelo seguinte URL:
localhost/hello.php?firstname=John&lastname=Doe.
Os parâmetros firstname=Johnelastname=Doe foram passados. A saída dos valores é feita exatamente como antes, usando a construção de linguagem echo.

Uma transferência de dados por meio de $_GET inevitavelmente faz com que os dados transferidos fiquem visíveis na linha de endereço. Isso significa que os parâmetros que foram passados podem ser rastreados. A vantagem é que as variáveis podem ser armazenadas em hiperlinks. Além disso, os usuários têm a opção de salvar URLs incluindo a string de consulta HTTP como marcadores no navegador.
No entanto, o fato de os parâmetros GET serem listados em texto simples no URL torna esse método incompatível com a transferência de dados confidenciais, como os dados gerados por formulários on-line. Além disso, a quantidade de dados que pode ser passada usando $_GET é limitada pelo comprimento máximo dos URLs.
Você pode contornar essas restrições com o método HTTP POST. Os dados que são passados com esse método podem ser encontrados na seção $_POST superglobal.
Transferência de dados via $_POST
Enquanto no método GET os dados são passados como um parâmetro de URL, com $_POST, a transferência de dados ocorre no corpo de uma solicitação HTTP. Isso possibilita até mesmo a passagem de grandes quantidades de dados de um script para outro.
Um campo de aplicação central do método HTTP POST é a transferência de dados de formulários HTML. Demonstraremos isso usando o exemplo de uma assinatura de boletim informativo.
Para fazer isso, crie um novo arquivo PHP com o nome page1.php e copie o seguinte bloco de código:
O elemento HTML <form>
é usado para criar formulários. A tag start contém dois atributos: methodeaction. Com o atributo method , você define o método de transmissão, nesse caso HTTP-POST. No atributo action , você armazena o URL de um script que recebe todos os dados inseridos nos campos de entrada subsequentes. O exemplo mostra um *formulário HTML com três elementos de entrada *(input type=“text”) e um botão *submit *(input type=“submit”). O arquivo page2.php é definido como o destinatário dos dados.
Para ilustrar a transferência de dados usando $_POST, usaremos um script simples para avaliar os dados do formulário, que armazena os valores enviados como variáveis PHP e os exibe em forma de texto. Para fazer isso, crie um arquivo page2.php e insira o seguinte código de programa:
Salve os dois arquivos PHP na pasta htdocs do seu servidor de teste e chame page1.php a partir do seguinte URL em seu navegador da Web: http://localhost/page1.php
. Seu navegador agora mostrará a interface interativa da Web do formulário HTML.

Insira quaisquer credenciais e pressione o botão enviar para transferir variáveis de um script para outro. Depois de confirmar as inputs de page1.php , você será imediatamente redirecionado para page2.php. A janela do navegador mostrará o resultado da execução do script com base nos dados enviados.

A entrada do usuário capturada por meio dos campos de entrada page1.php será recuperada por page2.php via:
$_POST["input field name"]
A linha $firstname = $_POST[“firstname”] recupera a entrada no campo de entrada firstname e a armazena na variável $firstname. A variável $firstname pode, por sua vez, ser emitida como uma string usando echo.
Como usar os operadores de comparação do PHP e a construção IF
Até agora, definimos variáveis, as passamos de um script para outro e as produzimos como strings. Na próxima etapa, você aprenderá a vincular a execução de fragmentos de código a determinadas condições.
A construção de linguagem if permite que você escreva scripts de forma que as instruções só tenham efeito quando uma condição definida por você for atendida, por exemplo, digitar a senha correta.
As condições são definidas no PHP de acordo com a seguinte estrutura básica:
Isso é o seguinte: Se a condição delineada em expressão for atendida, a declaração será executada. Uma condição é sempre atendida se o if construct retornar o resultado TRUE (true). Caso contrário, é considerada FALSE (false). Nesse caso, a declaração será ignorada.
Normalmente, a construção if verifica se o valor de uma variável corresponde ao que foi definido na condição. Essa estrutura de controle geralmente é realizada com base em operadores de comparação.
Operadores de comparação
Os operadores de comparação são usados na formulação de condições para colocar dois argumentos em uma relação lógica que pode ser avaliada como verdadeira (TRUE) ou false (FALSE). Quando os operadores de comparação são usados em estruturas de controle do PHP, eles são aplicados a duas variáveis na expressão de uma se construção:
Em termos de linguagem, a estrutura de controle é a seguinte: Se a variável $a for igual à variável $b, então as instruções definidas na instrução statement são executadas.
Os operadores de comparação do PHP são baseados na linguagem de programação C e sua notação difere consideravelmente dos símbolos matemáticos clássicos. Uma visão geral pode ser encontrada na tabela abaixo.
Operador de comparação | Description | Condition |
---|---|---|
== | equals | A condição é atendida se $ae $b tiverem o mesmo valor. |
=== | é idêntico | A condição é atendida se $ae $b tiverem o mesmo valor e pertencerem ao mesmo tipo de dados. Isso pode ser ilustrado com um exemplo em que um inteiro (1) é comparado com uma string (“1”): 1 == “1” //TRUE 1 === “1” //FALSE Para condições que exigem que duas variáveis sejam iguais, é melhor usar sempre o operador relacional === (é idêntico). |
!= | é desigual | A condição é atendida se $ae $b tiverem valores desiguais. |
!== | não idênticos | A condição é atendida se $ae $b tiverem valores desiguais ou pertencerem a tipos de dados diferentes. |
< | é menor que | A condição é atendida se o valor $a for menor que o valor $b. |
> | é maior que | A condição é atendida se o valor de $a for maior que o valor de $b. |
<= | é menor ou igual a | A condição é atendida se o valor de $a for menor que o valor de $b ou $ae $b têm o mesmo valor. |
>= | é maior ou igual a | A condição é atendida se o valor de $a for maior que o valor de $b ou $ae $b têm o mesmo valor. |
O script a seguir deve esclarecer essa estrutura de controle. Dois números inteiros são comparados. É usado o operador de comparação < (is smaller) :
Definimos as variáveis $number1 e $number2 e atribuímos a elas os valores 10e20. Em seguida, definimos uma condição: Se $number1 for menor que $number2, a cadeia de caracteres listada na instrução echo deve ser gerada.
O resultado da execução do script contém a resposta: 10 é menor que 20. O construto if retorna o resultado TRUE. A condição foi atendida.

Para definir declarações que são executadas se uma condição não for atendida, adicione a construção de linguagem else ao if para formar uma declaração if-else em PHP:
Esse script verifica se a condição a retorna TRUE ou FALSE. Se a condição a for atendida (TRUE) statement b is executed. Se a condição a não for atendida (FALSE), a instrução b é ignorada e a instrução c é executada em seu lugar.
Vamos estender nosso script com o else construct e trocar o operador de comparação < (é menor) para == (é igual):
Desta vez, a if construct retorna FALSE. O valor da variável $number1 não é igual ao valor de $number2. A condição não é atendida. Portanto, a instrução listada em if não é executada, mas a definida em else é.

Para vincular a execução de um fragmento de código a dois valores iguais, um sinal de igual duplo (==) é usado no PHP. Um único sinal de igual (=) é usado para atribuir valores a variáveis.
Você pode negar condições colocando um ponto de exclamação (!) before an expression.
Esse exemplo destaca a condição $number1 == $number2 e sua negação. !($number1 == $number2) é equivalente a ($number1 != $number2).
Uma aplicação prática de ifandelse é a consulta de senha baseada em um formulário HTML. Podemos simular isso usando nossos arquivos PHP page1.phpepage2.php.
Abra page1.php e cole o código a seguir:
A estrutura corresponde a um formulário criado anteriormente. Desta vez, no entanto, um campo de entrada é suficiente: a consulta de senha. Como antes, a entrada do usuário é passada para o script page2.php .
Podemos adaptar isso usando o código a seguir para que a entrada de senha seja comparada com uma senha armazenada:
O código pode ser explicado da seguinte forma: Inicialmente, atribuímos um valor à variável $password na linha 2, que recuperamos usando o método HTTP POST. Em seguida, definimos a seguinte estrutura de controle: O if construct na linha 3 deve verificar se o valor da variável $password corresponde à string qwertz123. Se esse for o caso, a cadeia de caracteres A senha estava correta é emitida. Se if retorna o resultado FALSE, else é usado na linha 7 e a string The password was incorrect é emitida.
Agora chamamos o script page1.php por meio do URL http://localhost/page1.php
.

O navegador apresenta a visualização da Web do nosso formulário HTML de solicitação de senha. Digitamos a senha quertz123 definida no script page2.php e, em seguida, clique no botão Submit .

O navegador da Web nos redireciona automaticamente para page2.php enquanto a estrutura de controle if compara nossa entrada com a senha armazenada. Ela chega ao resultado “qwertz123 == qwertz123 is TRUE” e, em seguida, gera a string The password was correct.
Teste você mesmo para ver o que acontece quando você digita uma senha diferente no campo de entrada.
Operadores lógicos
As condições que você define usando operadores de comparação na expressão do se construção pode ser combinada com outras condições na mesma expressão se necessário. O PHP conta com os operadores lógicos ANDandOR.
Close Bond | Weak Bond | Description |
---|---|---|
&& | AND | Ambas as condições associadas ao operador devem ser TRUE. |
|| | OR | Apenas uma das duas condições associadas ao operador deve ser TRUE. |
Para combinar condições, você pode usar operadores lógicos de limite fechado e de limite fraco no PHP. No uso prático, o emprego de qualquer uma das duas grafias isoladamente não produzirá nenhuma distinção perceptível. Se você combinar as duas grafias, verá que OR e || ligam-se mais estreitamente do que AND e OR. Além disso, AND and && se ligam mais fortemente do que OR and ||. Isso é comparável à classificação de operadores conhecida dos operadores matemáticos (e.g., ponto antes do traço: *liga-se mais estreitamente do que+).
A consulta de senha oferece um exemplo prático. Normalmente, as credenciais de login incluem uma senha secreta e um nome de usuário. O login só será bem-sucedido se ambas as entradas corresponderem aos dados armazenados no sistema.
Agora, abriremos novamente nosso formulário de consulta de senha em Page1.php e adicionaremos um campo de entrada para o nome de usuário:
Na próxima etapa, precisamos ajustar a estrutura de controle da construção if . Usamos o operador lógico AND para vincular a condição da consulta de senha a uma condição da consulta de nome de usuário.
Em nosso script page2.php os valores para usernameesenha são obtidas e salvas nas variáveis $usernamee $password. A expressão dentro da se construção agora contém duas condições vinculadas pelo operador lógico AND. Ambas as condições devem ser atendidas (nome de usuário==“John Doe”e$senha==“qwertz123”) forifpara retornar o resultadoTRUE.
Ao recuperar o nome de usuário do campo de entrada username, podemos usá-lo diretamente na saída textual usando a instrução echo statement. Welcome to the internal area é seguido pelo valor em $username. Se uma das duas condições não for atendida, a saída de texto será: Access failed.

Os operadores lógicos podem ser combinados de qualquer maneira. Lembre-se de que AND tem uma precedência de operador maior do que OR. Como nas equações matemáticas, o PHP permite que você use parênteses para indicar a precedência.
Como usar loops (while, for)
Às vezes, um script precisa executar uma determinada seção de código várias vezes antes de executar o restante do código do programa. As linguagens de programação usam o conceito de loops para isso. Existem três tipos de loops no PHP:
- while loops
- do-while loops
- for loops
while loops
O while loop é o tipo mais simples de loop no PHP. Aqui está a estrutura básica:
O while loop diz ao PHP para executar as substituições enquanto a while condição for atendida. Para fazer isso, o interpretador do PHP verifica a condição no início de cada passagem do loop. A execução do código subordinado só é interrompida quando a condição while não é mais atendida.
Esse princípio pode ser ilustrado com um script de contagem simples:
O conceito de incremento foi apresentado na seção Calculando com variáveis deste tutorial. No script subsequente, desenvolvemos esse conceito, mas com um toque diferente. Desta vez, utilizamos um operador de pós-incremento. Isso aumenta o valor da variável inteira $number em 1 após cada iteração do loop, imediatamente após a saída de texto echo . Definimos a condição para o loop while da seguinte forma: $number é maior ou igual a 10. Consequentemente, a instrução echo será executada repetidamente até que o $number supere o valor 10.

O resultado da execução do script é uma string que imprime o valor da variável $number para cada passagem do loop antes de ser incrementada. Como resultado, o script conta de 1 a 10 e interrompe a execução do código assim que a condição while não é mais atendida.
do-while loops
A estrutura do loop do-while é semelhante à do loop while . A única diferença é que a condição não é verificada no início de cada passagem do loop, mas somente no final. O esquema básico de um do-while loop é o seguinte:
Programado como um do-while loop, o script anterior teria a seguinte aparência:
Nesse caso, o resultado permanece o mesmo. O que há de especial no do-while loop é que ele é executado pelo menos uma vez, mesmo que a condição não seja atendida em nenhuma passagem do loop.
for loops
Em geral, o for loop em um script PHP tem a mesma função que o while loop. No entanto, ao contrário do while loop, o valor inicial, a condição e a instrução são gravados em uma única linha em vez de serem distribuídos em três ou mais linhas. A estrutura básica do for loop é:
O exemplo acima poderia ser escrito de forma mais compacta como um for loop:
Primeiro, o valor 1 é definido para $number. Em seguida, o PHP verifica se a condição $number <= 1 é atendida. Se esse for o caso, o loop continua e as instruções abaixo do loop são executadas (aqui a instrução é echo). Quando isso for feito, as etapas do loop serão executadas. Nesse contexto, a escolha entre pré ou pós-incremento torna-se irrelevante, pois essa etapa sempre ocorre antes da saída. Após a conclusão da etapa do loop, a iteração subsequente do loop é iniciada.
Em um for loop, a semente, a condição e a etapa do loop são consideradas componentes opcionais. Em teoria, até mesmo loops vazios são viáveis. No entanto, esses loops seriam redundantes.
Cabe basicamente a você decidir se escreve seus scripts PHP com um for ou um while loop. No entanto, há um argumento para escolher for loops: Quando são usados for loops, você tem uma visão melhor dos dados da estrutura do loop. Isso evita o risco de escrever acidentalmente um loop infinito que é executado até que a memória do interpretador esteja cheia. Com relação ao exemplo anterior, isso pode acontecer quando você se esquece de incrementar o valor da variável $number .
Entretanto, se o loop tiver que ser executado pelo menos uma vez, independentemente da condição, o loopdo-while é o loop a ser usado.
breakandcontinue statements
A execução de um while, do-while ou for o loop pode ser influenciado pelas declarações breakecontinue . Use break para interromper o fluxo de um loop em qualquer ponto e continue para pular uma passagem do loop. Ambas as instruções estão vinculadas a uma condição usando if. O exemplo a seguir mostra nosso script de contagem com um break:
No for loop, definimos que o valor da variável $number deve ser aumentado pelo valor 1 em cada rodada do loop, começando em 1, até que a variável atinja o valor 10. Podemos parar esse loop prematuramente usando break assim que $number tiver atingido o valor 5. A construção de linguagem echo só produz os números de 1 a 4.

Para pular a saída da quinta rodada, mas não interromper todo o fluxo do loop, substituímos a instrução break statement with continue:
Em vez do dígito 5, o PHP gera a string de texto Passamos o número 5! definido em se.

Como executar operações de arquivo
O conteúdo dinâmico da Web é estruturado com base no princípio da separação entre conteúdo e apresentação. Para isso, as linguagens de script, como o PHP, oferecem um conjunto diversificado de funcionalidades que facilitam a integração perfeita de conteúdo de fontes de dados externas em arquivos de modelos centrais. Na prática, essas fontes de dados geralmente são bancos de dados gerenciados por sistemas de gerenciamento como o MySQL. Você pode descobrir como isso funciona em nosso tutorial do MySQL.
Também é possível incluir dados de arquivos. A seguir, mostraremos como ler arquivos como uma string em um script PHP e salvar a saída de texto do script em arquivos.
Leitura de arquivos
Para ler o conteúdo de um arquivo, o PHP tem várias funções. Dentre elas, file()efile_get_contents() são particularmente adequados para a tarefa em questão. Enquanto a função file_get_contents() lê todo o conteúdo de um arquivo em uma string, a função file() salva o conteúdo como uma matriz. Cada elemento da matriz corresponde a uma linha do arquivo. Usar file() facilita a saída de cada linha individualmente.
Demonstraremos as operações de arquivo PHP no arquivo de texto example.txt, que colocamos na pasta htdocs do nosso servidor de teste. O arquivo contém quatro linhas de texto fictício:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Primeiro, precisamos ler o arquivo inteiro como uma string. Para fazer isso, temos que atribuir o nome do arquivo correspondente como um parâmetro à função file_get_contents() :
file_get_contents('example.txt')
Agora temos a oportunidade de trabalhar com a string que foi lida. Por exemplo, podemos atribuí-la a uma variável e exibi-la como texto no navegador da Web:

Na exibição do navegador, podemos ver que a string de texto é gerada sem parágrafos. As quebras de linha do arquivo original não são visíveis. Isso ocorre porque o navegador da Web interpreta a saída de texto do script como código HTML. As quebras definidas nos editores de texto são perdidas.
Para manter a estrutura original, você tem algumas opções. Você pode adicionar a codificação HTML para a quebra de linha (br) no arquivo de origem manualmente usando a função pesquisar e substituir, colocar um <pre>
ao redor do conteúdo do arquivo, defina a propriedade CSS white-space: pre -wrap ou use o nl2br() função para sinalizar ao PHP para converter automaticamente as quebras de linha (novas linhas) para quebras de linha HTML (quebras). Aqui está o código:
Se a construção de linguagem echo for usada em combinação com nl2br(), o PHP insere uma quebra de linha HTML antes de cada nova linha.

Para gerar as linhas de um arquivo individualmente, você pode usar a função file() . Essa função lê um arquivo, numera todas as linhas que começam com o número 0 e salva seu conteúdo como elementos de uma matriz. Aplicar isso ao nosso exemplo produz o seguinte resultado:
[0] = Lorem ipsum dolor sit amet, consectetuer adipiscing elit
[1] = Aenean commodo ligula eget dolor. Aenean massa.
[2] = Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
[3] = Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem
Para gerar o respectivo conteúdo usando echo, basta especificar o número da linha desejada. Por exemplo, o script a seguir nos fornece apenas a primeira linha do arquivo example.txt como saída para o navegador:

Gravar arquivos
O PHP vai além da mera leitura de arquivos, permitindo também que você leia, crie e modifique arquivos sem esforço.
O uso da função file_put_contents() é um excelente exemplo. Ela requer apenas dois parâmetros: o nome do arquivo de destino e os dados, que podem ser uma string ou uma matriz. No script abaixo, um novo arquivo chamado test.txt é criado, contendo a string This is a test!. A inclusão de \r\n garante uma quebra de linha no arquivo.

Como file_put_contents não fornece nenhuma saída para o navegador, adicionamos uma instrução echo que nos informa qual ação está sendo executada.
Se já houver um arquivo com o mesmo nome na pasta de destino, ele será substituído. Você pode evitar isso definindo o parâmetro FILE_APPEND:
Ao usar file_put_contents() com o parâmetro FILE_APPEND, o novo conteúdo será anexado ao conteúdo existente.

O que o PHP grava no arquivo de destino não precisa necessariamente ser definido no script. Como alternativa, você pode transferir o conteúdo de um arquivo para outro. O script a seguir lê o conteúdo de example.txt e o insere no arquivo test.txt:
