Índice do Conteúdo
▼Se você está se aventurando no mundo do desenvolvimento web, já deve ter se perguntado o que é PHP. PHP é uma linguagem de programação amplamente usada, especialmente adequada para o desenvolvimento web e pode ser embutida em HTML. Criado inicialmente por Rasmus Lerdorf em 1994, o PHP agora é mantido por uma enorme comunidade de desenvolvedores ao redor do mundo. Neste artigo, vamos explorar de maneira detalhada o que é PHP, sua história, como instalá-lo, suas principais funcionalidades e muito mais.
Introdução ao PHP
O que é PHP?
PHP, abreviação de “Hypertext Preprocessor”, é uma linguagem de script do lado do servidor concebida principalmente para o desenvolvimento web, mas que também pode ser utilizada como uma linguagem de programação geral. Uma das grandes vantagens do PHP é sua capacidade de ser embutido diretamente no HTML, permitindo a criação de páginas dinâmicas facilmente.
Breve história do PHP
O PHP foi criado em 1994 por Rasmus Lerdorf. Originalmente, era um simples conjunto de scripts em Perl denominado “Personal Home Page Tools”, projetado para rastrear visitas ao seu currículo online. A versão moderna do PHP evoluiu muito desde então e é mantida por centenas de desenvolvedores. Em 1997, a versão 3.0 foi lançada e, em 2004, a versão 5.0 introduziu a orientação a objetos, marcando um grande avanço para a linguagem.
Por que usar PHP?
Existem várias razões para usar PHP no desenvolvimento web. Primeiramente, é uma tecnologia de código aberto e gratuita, o que reduz custos. Além disso, o PHP é altamente eficiente em ambientes de carga elevada, o que o torna ideal para grandes sites e aplicações web. A linguagem também possui uma extensa biblioteca de funções e uma grande comunidade de suporte.
Principais Vantagens do PHP
- Facilidade de uso: Mesmo iniciantes podem criar scripts funcionais rapidamente.
- Flexibilidade: Pode ser embutido em HTML e combinado com JavaScript e outras bibliotecas.
- Compatibilidade: Suporta todos os principais bancos de dados como MySQL, PostgreSQL, Oracle, etc.
Instalação e Configuração
Ambiente de desenvolvimento
Antes de começar a programar em PHP, é crucial configurar um ambiente de desenvolvimento. Você pode optar por um servidor local como XAMPP, WAMP, ou MAMP que fornece uma pilha completa de servidor Apache, banco de dados MySQL e interpretador PHP.
Instalando o PHP
A instalação do PHP pode variar dependendo do sistema operacional que você está usando. Seguem alguns exemplos:
- Windows: Utilize pacotes como XAMPP ou WAMP para uma instalação fácil e rápida.
- Linux: Instale através do repositório de pacotes com um simples comando como
sudo apt-get install php. - Mac: MAMP é uma opção preferida para os usuários do macOS.
Configurando o PHP
A configuração do PHP é realizada através do arquivo php.ini. Esse arquivo permite que você ajuste vários parâmetros e configurações. Por exemplo, você pode ajustar o limite de memória, o tempo máximo de execução, a configuração de exibição de erros, entre outros.
Sintaxe Básica do PHP
Comentários
Os comentários em PHP são utilizados para adicionar notas para si mesmo ou para outros desenvolvedores que possam ler o código no futuro. Existem dois tipos principais de comentários:
// Comentário de linha única/ Comentário de múltiplas linhas /
Variáveis e Tipos de Dados
Em PHP, as variáveis são declaradas utilizando o símbolo $. A linguagem é fracamente tipada, o que significa que você não precisa declarar o tipo de uma variável antes de usá-la. Exemplos de tipos de dados incluem:
- Inteiros:
$idade = 30; - Float:
$preco = 10.99; - Strings:
$nome = "João";
Operadores
Operadores são utilizados para realizar operações sobre variáveis e valores. PHP suporta vários tipos de operadores:
- Aritméticos:
+,-,*,/ - Comparação:
==,!=,>,< - Lógicos:
&&,||,!
Funções e Strings
Funções em PHP
Funções são blocos de código que podem ser chamados repetidamente. PHP possui muitas funções internas e permite que você crie suas próprias funções. Um exemplo simples seria:
function saudacao($nome) {
return "Olá, " . $nome;
}
Para chamar esta função, você pode usar:
echo saudacao("João");
Manipulação de Strings
PHP oferece uma série de funções nativas para manipulação de strings. Estas incluem:
- strlen: Retorna o comprimento de uma string.
- str_replace: Substitui todas as ocorrências de uma substring por outra.
- substr: Retorna uma parte de uma string.
Exemplo de uso de str_replace:
$frase = "Olá Mundo!";
$novaFrase = str_replace("Mundo", "PHP", $frase);
echo $novaFrase; // Saída: Olá PHP!
Controle de Fluxo
If, Else, e ElseIf
Instruções if são usadas para executar código baseado em condições:
if ($idade >= 18) {
echo "Você é adulto.";
} else {
echo "Você é menor de idade.";
}
Switch Case
O switch case é uma alternativa para vários if aninhados:
switch ($dia) {
case "segunda":
echo "Hoje é segunda.";
break;
case "terça":
echo "Hoje é terça.";
break;
default:
echo "Outro dia da semana.";
}
Loops (for, while, foreach)
Loops são usados para executar um bloco de código repetidamente:
- For:
for ($i = 1; $i <= 10; $i++) { echo $i; } - While:
$i = 1; while ($i <= 10) { echo $i; $i++; } - Foreach:
$array = array(1, 2, 3); foreach ($array as $value) { echo $value; }
Manipulação de Formulários
Enviando dados via GET e POST
O PHP facilita a recuperação de dados enviados por formulários. Você pode utilizar os arrays superglobais $_GET e $_POST:
<form method="post" action="processa.php">
Nome: <input type="text" name="nome">
<input type="submit">
</form>
No arquivo processa.php:
$nome = $_POST['nome'];
echo "Olá " . $nome;
Validação de formulários
A validação de formulários é crucial para garantir que dados corretos e seguros sejam enviados e processados. Um exemplo de validação básica em PHP seria:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(empty($_POST["nome"])) {
echo "O nome é obrigatório";
} else {
$nome = teste_input($_POST["nome"]);
echo "Olá " . $nome;
}
}
function teste_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
Trabalhando com Bancos de Dados
Conectando ao Banco de Dados
PHP oferece suporte a diversos bancos de dados, sendo o mais comum o MySQL. Para conectar a um banco de dados MySQL, você pode usar a extensão mysqli ou PDO:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Conexão falhou: " . $conn->connect_error);
}
echo "Conectado com sucesso";
Consultas SQL
Saber como executar consultas SQL é fundamental ao trabalhar com bancos de dados. Aqui está um exemplo de uma consulta SELECT:
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Nome: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 resultados";
}
CRUD (Create, Read, Update, Delete)
Um CRUD é um acrônimo para as quatro operações básicas utilizadas em bancos de dados:
- Create:
INSERT INTO - Read:
SELECT - Update:
UPDATE - Delete:
DELETE
Exemplo de uma operação INSERT:
$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "Novo registro criado com sucesso";
} else {
echo "Erro: " . $sql . "
" . $conn->error;
}
Segurança em PHP
Sanitização de Entrada
A sanitização de entrada de dados é essencial para garantir que dados inseguros não sejam processados pelo sistema. Uma forma de sanitização é usar a função htmlspecialchars():
$name = htmlspecialchars($_POST['name']);
Prevenção de SQL Injection
SQL Injection é uma técnica maliciosa onde um atacante pode interferir nas consultas SQL feitas pela aplicação. Utilizar consultas parametrizadas é uma maneira eficaz de prevenir SQL Injection:
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$id = $_GET['id'];
$stmt->execute();
Armazenamento seguro de senhas
Armazenar senhas em texto claro é uma prática terrível de segurança. Utilize funções de hashing como password_hash() e password_verify() para garantir o armazenamento seguro de senhas:
$hash = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($password, $hash)) {
echo "Senha válida!";
}
Programação Orientada a Objetos
Classes e Objetos
A Programação Orientada a Objetos (POO) em PHP permite uma estruturação mais organizada e reutilizável do código. Uma classe é um molde para objetos:
class Pessoa {
public $nome;
public function dizerOla() {
echo "Olá, " . $this->nome;
}
}
$pessoa1 = new Pessoa();
$pessoa1->nome = "João";
$pessoa1->dizerOla();
Hereditariedade
A POO permite que as classes herdem características de outras classes, o que promove o reuso de código:
class Animal {
public $nome;
}
Polimorfismo
class Gato extends Animal {
public function fazerSom() {
echo "Miau";
}
}
$p = new Gato();
$p -> nome = "Bola de Neve";
$p -> fazerSom();
Polimorfismo
Polimorfismo permite que você trate diferentes objetos de diferentes maneiras dependendo de sua classe ou subtipo. Os métodos podem ser substituídos em classes derivadas:
class Pessoa {
public function falar() {
echo "Olá!";
}
}
class Estudante extends Pessoa {
public function falar() {
echo "Estou estudando";
}
}
$p = new Estudante();
$f > falar();
PHP em Projetos Modernos
Frameworks PHP Populares
Frameworks são ferramentas que fornecem uma base de código comum para projetos. Existem vários frameworks PHP populares:
- Laravel: Conhecido por sua elegância e simplicidade.
- Symfony: Altamente flexível e escalável.
- CodeIgniter: Leve e fácil de usar.
Comparação entre frameworks:
| Framework |
|---|
