Curso de PHP Básico

Walter Nascimento
Walter Nascimento | PT-BR
8 min readAug 5, 2021

Curso Rápido de PHP

[click here for English]

O que é?

PHP é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links.

PHP is a popular general-purpose scripting language that is especially suited to web development.

Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

Apesar do PHP ser bastante usado em ambientes web, ele é bastante flexível e pode ser usado também para criação de aplicações desktop e etc.

História

A linguagem PHP foi concebida durante o outono de 1994 por Rasmus Lerdorf. Existiram diversas versões para chegarmos no PHP que temos hoje, para uma leitura mais completa acesse o site https://www.php.net/manual/pt_BR/history.php.php

Instalando o PHP

Para instalar o PHP você só tem que baixar o arquivo da versão desejada diretamente no site oficioal https://www.php.net/downloads e configurar a variável de ambiente, caso use o linux é ainda mais simples, apenas execute apt install php e vai ser instalado o php na sua máquina (no caso você precisa definir a versão que deseja instalar ex.: 5.4, 7.1, 7.3, 8.0 e etc).

Executando o PHP

O php pode ser usado diretamente no terminal, para isso use o comando php -a, com isso você já poderá executar todos os comandos diretamente no terminal (terminal interativo).

Para executar um comando vamos simplesmente digitar echo “Olá Mundo”; e com isso o texto será exibido no terminal, caso queira sair do terminal digite quit (ou CTRL+C).

Servidor web embutido

Desde a versão 5.4 o PHP CLI vem com um servidor http embutido. Ele pode ser usado para o desenvolvimento e testes ou para demonstrações de aplicações que forem executadas em ambientes controlados.

Caso queira usar para desenvolvimento segui o exemplo abaixo:

cd ~/public_htmlphp -S localhost:8000php -S 0.0.0.0:80 // So the application is already exposed within your network for your ip

Criando um arquivo

Para criar um arquivo php, você precisa no início do arquivo colocar a instrução <?php isso declara que o conteúdo será processado via php, para concluir a criação do arquivo salve com a extensão .php(exemplo index.php), para executar o arquivo digite php index.php.

Ferramentas

Para trabalhar com PHP é necessário duas ferramentas importante o primeiro é o browser(navegador) pois é ele que vai exibir a página que você está criando(lembrando que podemos usar o cli do próprio php para exibir informações mas como o objetivo é trabalhar com o php para web o ideal e já ir se acostumando com o browser) e o segundo é um editor, apesar de que podemos trabalhar com um editor de arquivo padrão(notepad e etc) quanto melhor a ferramenta mais rápido criamos nossas páginas.

Navegadores:

Editores:

Sintaxe Básica

Comentários

Para usar comentários no php pode usar de duas formas, a primeira /** */ é usada principalmente para comentários com múltiplas linhas, e para apenas uma linha é principalmente usado //

O PHP suporta comentários no estilo ‘C’, ‘C++’ e do Unix shell (estilo Perl). Por exemplo:

<?phpecho 'This is a test'; // One-line comment style in C++ 
/* This is a multiline comment yet another line of comment */
echo 'This is yet another test';
echo 'A final test'; # This is a one-line shell-style comment

Short echo

O PHP inclui uma tag curta echo <?= que é uma forma abreviada para <?php echo.

exemplo:

<?php echo $var; ?> // this<?= $var; ?> // turns into that

Variáveis

Sempre que tiver informações que precisam ser guardadas ou algum valor que será manipulado, Usamos variáveis, e para usar variáveis no PHP, adicionamos sempre o símbolo de $ no início da palavra, e para atribuir o valor a uma variável adicionamos o operador igual(=) e o valor a ser atribuído, exemplo:

$age = 25;

Tipo de dados

O PHP tem diversos tipos de dados, existem os tipos escalares

|-----------|-----------|-----------|
| Tipos |
|-----------|-----------|-----------|
| Escalares | Compostos | Especiais |
|-----------|-----------|-----------|
| bool | array | resource |
| int | object | NULL |
| float | callable | |
| string | iterable | |
|-----------|-----------|-----------|

Exemplo

$age = 21;
$wage = 1000.301;
$division = 10 / 3;
$text = "Olá mundo";
$boolean = true;
echo getType($boolean);

Obs.: Apesar de ter vários tipos de dados, por o php ser fracamente tipado, então sendo um iniciante você não precisar se preocupar muito com o tipo inicial do dado, pois mesmo que a variável seja string, você ainda consegue fazer uma expressão matemática com ela.

Strings

Ao definir um valor entre aspas o php já transforma em string

se quiser definir um valor simples use aspas simples, caso queira ler o valor de uma variável use aspas duplas

Ex.:

$test = 'ok';
$output = '$test';
echo($output); // Prints the text $test
$output = "$test";
echo($output); // Prints the text ok

Para concatenar strings usamos o ponto (.) e dentro das aspas duplas podemos usar variáveis.

Operações

Para fazer operações no PHP é muito simples, simplesmente usando os operadores de soma subtração e etc.

$sum = 2 + 2;
$minus = 2–2;
$multiplication = 2 * 2;
$division = 2/2;
$potency = 2 ** 2;
$rest = 2 % 2;

Estruturas de controle

Decisões no código (IF)

Para tomar decisões usamos as condição IF, o if faz uma verificação se algo é verdadeiro e caso seja ele executa um bloco de instrução {}, exemplo

$idade = 21;if($idade > 18) {
echo "acima de 18 anos";
}

Decisões no código (ELSE)

O Else é o caso contrario do if, então toda instrução if pode ser seguida de um else, exemplo:

$idade = 21;if($idade > 18) {
echo "acima de 18 anos";
} else {
echo "menor de 18 anos";
}

Decisões no código (ELSE IF e o ELSEIF)

O Else if é quando você cai no else mas não tem nenhuma instrução algo assim

if(false) {} else

Então a primeira instrução após o else é executada, no caso o if, e o elseif é uma palavra reservada para fazer uma verificação após o if falhar e cair no elseif, de forma resumida, ambos fazem a mesma coisa por caminhos diferentes.

if(false) {} elseif(true){}

OBS.: todas as expressões que forem escritas e avaliadas pelo if devem poder ser representadas como um valor booleano.

Caso você utilize algum outro valor (string, int, float, etc), o próprio PHP realizará a conversão destes valores para booleano seguindo as regras explicadas na documentação.

Operador Ternário

Quando o if e/ou else tem apenas uma instrução, então não é obrigatório o uso de chaves {}, mas por padrão é mais utilizado com chaves independente de ter apenas uma linha ou não, Além disso, quando há apenas uma linha a ser executada, temos uma outra opção para tomar decisões. Se precisamos, por exemplo, atribuir o valor a uma variável nos baseando em alguma condição, podemos utilizar o que é chamado de operador ternário. Sua sintaxe é a seguinte:

$variavel = $condicao ? $valorSeVerdadeiro : $valorSeFalso;

Repetições (loop)

while

Laços while são os mais simples tipos de laços do PHP. Possui comportamento semelhante ao C. O formato básico de uma declaração while é:

while (expr)
statement

O propósito da declaração while é simples. Ele dirá ao PHP para executar as declarações aninhadas repetidamente, enquanto a expressão do while forem avaliadas como true.

do-while

Os laços do-while é muito similar aos laços while, com exceção que a expressão de avaliação é verificada ao final de cada iteração em vez de no começo. A maior diferença para o laço while é que a primeira iteração do laço do-while sempre é executada (a expressão de avaliação é executada somente no final da iteração), considerando que no laço while não é necessariamente executada (a expressão de avaliação é executada no começo de cada iteração, se avaliada como false logo no começo, a execução do laço será abortada imediatamente).

Só há uma sintaxe para o laço do-while:

$i = 0;do {
echo $i;
} while ($i > 0);

for

Os laços for são os mais complexos no PHP. Possui comportamento semelhante ao C. A sintaxe do laço for é:

for (expr1; expr2; expr3)
statement

A primeira expressão (expr1) é avaliada (executada), uma vez, incondicionalmente, no início do laço.

No começo de cada iteração a expr2 é avaliada. Se a avaliada como true, o laço continuará e as instruções aninhadas serão executadas. Se avaliada como false, a execução do laço terminará.

No final de cada iteração, a expr3 é avaliada (executada).

/* exemplo 1 */
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
/* exemplo 2 */
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}
/* exemplo 3 */
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
/* exemplo 4 */
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);

foreach

O construtor foreach fornece uma maneira fácil de iterar sobre arrays. O foreach funciona somente em arrays e objetos, e emitirá um erro ao tentar usá-lo em uma variável com um tipo de dado diferente ou em uma variável não inicializada. Possui duas sintaxes:

foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement

Arrays

Um array no PHP é na verdade um mapa ordenado. Um mapa é um tipo que relaciona valores a chaves. Este tipo é otimizado para vários usos diferentes: ele pode ser tratado como um array, uma lista (vetor), HashTables (que é uma implementação de mapas), dicionário, coleção, pilha, fila e provavelmente mais. Têm tamanho dinâmico, podem ter strings como seus índices e podem ser manipulados de diversas formas.

array(
chave => valor,
chave2 => valor2,
chave3 => valor3,

)

O php só trabalha com as chaves sendo numérico ou string, boolean, float e etc serão forçados a serem convertidos.

$array = array(
1 => "a",
"1" => "b",
1.5 => "c",
true => "d",
);
var_dump($array);

Funções

Subrotina executa o que tem que executa e não retorna nada, uma função retorna alguma coisa.

Uma função pode ser definida usando a seguinte sintaxe:

function foo ($arg_1, $arg_2, /* …, */ $arg_n)
{
echo "Exemplo de função.\n";
return $valor_retornado;
}

Qualquer código PHP válido pode aparecer dentro de uma função, mesmo outras funções e definições de classes.

Funções anônimas

Funções anônimas, também conhecidas como closures, permitem a criação de funções que não tem o nome especificado. Elas são mais úteis como o valor de parâmetros callback, mas podem ter vários outros usos.

Funções anônimas são implementadas utilizando a classe Closure

echo preg_replace_callback(‘~-([a-z])~’, function ($match) {
return strtoupper($match[1]);
}, ‘hello-world’);
// outputs helloWorld

Funções recursivas

Uma função recursiva é nada mais nada menos que uma função que invoca ela mesma.

Para isso, deve necessariamente haver uma condição em que as funções para de se invocar, e quando atingir determinado valor de argumento, para de se invocar.

function fat($number){
if($number==0) {
return 1;
}
return $number * fat($number-1);
}

Padrão de Codificação

Toda linguagem deixa uma gama de possibilidades de trabalhar com ela, o HTML não é diferente, você pode escrever tags em maiúscula ou minúsculas ou não colocar certos atributos e etc.

Para deixar a escrita de forma mais compatível o ideal é ter um padrão de codificação.

Documentação

Toda Linguagem tem documentação e o PHP não seria diferente, uma ferramenta que gosto bastante para ler documentação é o DevDocs.

caso precise de alguma dica de forma mais rápida use o devhints

Para dicas de formas de uso acesse o phptherightway

Obrigado por ler!

Se você tiver alguma dúvida, reclamação ou dica, pode deixar aqui nos comentários. Vou ter o maior prazer em responder!

😊😊 Até mais! 😊😊

--

--