Início

Responsive Web Development

UA10 — PHP: Introdução

PHP é uma linguagem de script server-side que gera HTML dinamicamente no servidor. É a base do desenvolvimento web back-end em ambiente LAMP/XAMPP e motor de sistemas como WordPress.

Desenvolvimento de Sistemas com PHP: Do Script Básico à Arquitetura Avançada
Desenvolvimento de Sistemas com PHP
A Arquitetura Cliente-Servidor: ciclo de requisição HTTP e resposta
A Arquitetura Cliente-Servidor
O Paradigma Web: Sites Estáticos vs. Aplicações Web Dinâmicas
Estático vs. Dinâmico
O Ecossistema de Ferramentas: Front-end e Back-end
O Ecossistema de Ferramentas

O que é PHP?

PHP (PHP: Hypertext Preprocessor) é uma linguagem de script server-side de tipagem fraca e dinâmica. Os arquivos PHP usam a extensão .php e são executados no servidor, não no navegador. O código PHP fica entre as tags <?php e ?>.

XAMPP — ambiente de desenvolvimento local

O XAMPP é um pacote de software livre desenvolvido pela Apache Friends que permite rodar um servidor web localmente sem necessidade de internet. O nome é acrônimo:

LetraComponente
XCross-platform — funciona em Windows, Linux e macOS
AApache — servidor web
MMySQL / MariaDB — banco de dados
PPHP — linguagem de script server-side
PPerl — linguagem de script adicional

Os arquivos PHP ficam em c:\xampp\htdocs (Windows) e são acessados via http://localhost/pasta/arquivo.php.

Variáveis

Toda variável começa com $. O PHP tem tipagem fraca — o tipo muda automaticamente conforme o contexto.

// Declaração e tipagem dinâmica
$nome = "Ana";      // string
$idade = 30;       // integer
$preco = 9.99;     // float
$ativo = true;    // boolean

// Regras: inicia com letra ou _; case-sensitive; sem espaços
$meu_nome = "Carlos";   // válido
$MeuNome = "outro";     // variável diferente de $meu_nome

Superglobais

Variáveis nativas disponíveis em qualquer parte do código, sem precisar declarar:

SuperglobalConteúdo
$GLOBALSTodas as variáveis do escopo global
$_SERVERInformações do servidor e ambiente de execução
$_GETDados enviados pelo método HTTP GET (visíveis na URL)
$_POSTDados enviados pelo método HTTP POST (não visíveis na URL)
$_FILESArquivos enviados via POST
$_COOKIEValores dos cookies HTTP
$_SESSIONVariáveis de sessão do usuário
$_REQUESTContém $_GET + $_POST + $_COOKIE
$_ENVVariáveis de ambiente do sistema

Constantes

Constantes mantêm o valor fixo durante toda a execução. Por convenção, usam letras maiúsculas. Não levam $.

// define() — disponível desde as primeiras versões
define("PI", 3.14159);
// const — disponível desde PHP 5.3 em escopo global
const VERSAO = "1.0";

echo PI;     // 3.14159
echo VERSAO; // 1.0

Constantes Mágicas

Constantes predefinidas cujo valor muda conforme onde são usadas:

ConstanteRetorna
__LINE__Número da linha atual no código
__FILE__Caminho completo do arquivo
__DIR__Diretório do arquivo
__FUNCTION__Nome da função atual
__CLASS__Nome da classe atual
__TRAIT__Nome do trait atual
__METHOD__Nome do método da classe
__NAMESPACE__Nome do namespace atual

var_dump() e phpinfo()

// var_dump — mostra tipo e valor; útil para depuração
$arr = [1, "dois", true];
var_dump($arr);
// array(3) { [0]=> int(1) [1]=> string(4) "dois" [2]=> bool(true) }

// phpinfo — exibe configuração completa do ambiente PHP
phpinfo();                      // tudo (INFO_ALL)
phpinfo(INFO_GENERAL);          // versão, servidor, SO
phpinfo(INFO_CONFIGURATION);    // diretivas do php.ini
phpinfo(INFO_MODULES);          // extensões carregadas

Operadores

TipoOperadoresDescrição
Aritméticos+ - * / % **Soma, subtração, multiplicação, divisão, módulo, exponencial
Atribuição= += -= .= Atribuir valor; atribuir somando; atribuir concatenando
Comparação== === != !== < > <= >=== compara valor; === compara valor e tipo
Lógicos&& || ! and or xorE, OU, NÃO, OU exclusivo
String. .=Concatena strings
Controle de erro@Suprime erros da expressão seguinte
Incremento++ —Pré/pós incremento e decremento

Práticas Modernas — PHP e ambiente de desenvolvimento

PHP 8.x: versão atual com melhorias significativas — JIT compiler, union types, named arguments, match expression, nullsafe operator ?->, fibers (PHP 8.1). Docker + DDEV / Laravel Sail: substituem o XAMPP em ambientes profissionais — cada projeto tem seu próprio container isolado, eliminando conflitos de versão. Composer: gerenciador de dependências oficial do PHP — equivalente ao npm para JavaScript. Essencial para qualquer projeto moderno. IDEs recomendadas: PhpStorm (pago, mais completo) ou VS Code com extensão PHP IntelliSense + PHP Debug. === em vez de ==: sempre prefira comparação estrita para evitar erros de tipo (ex.: "0" == false retorna true).

Dicas para a prova — UA10

  • XAMPP: X=cross-platform, A=Apache, M=MySQL/MariaDB, P=PHP, P=Perl.
  • Variáveis PHP começam com $ e são case-sensitive.
  • PHP tem tipagem fraca — o tipo é definido automaticamente conforme o valor atribuído.
  • Superglobais estão disponíveis em qualquer lugar do código sem declaração.
  • $_GET = dados visíveis na URL; $_POST = dados ocultos (não aparecem na URL).
  • Constantes não levam $; por convenção usam LETRAS_MAIÚSCULAS.
  • define() pode ser usada em qualquer escopo; const requer PHP 5.3+ para escopo global.
  • var_dump() mostra tipo e valor — indispensável para depuração.
  • phpinfo() sem parâmetros exibe tudo (INFO_ALL).

Referências bibliográficas desta UA

  • Saraiva, M. O.; Barreto, J. S. Desenvolvimento de Sistemas com PHP. Porto Alegre: SAGAH, 2018.