Avançamdo com PHP

Aula 02 a 03 - Condicionais If/Else / Condicionais - Operadores de comparação
Tópico sobre condicionais if...else.
Operadores de comparação ==, !=, >, >=, <, <=. Notar que quando utilizamos o operador < ou > em valores iguais o retorno será false portanto pode ocorrer erro em uma validação if...else.
Aula 06 - Laços de repetição - While
Utilizando o loop while. Parando ou pulando a execução com break e continue.
Aula 07 - Laços de repetição - For
Utilizando o loop for. A diferença do loop while e for é que o primeiro pode ter uma condição que não tem um final definido, enquanto o segundo tem um final definido e geralmente numérico.
Para percorrer itens de um array com o loop for podemos utilizar a função PHP count(). Esssa função retorna o numero de itens que existe no array.
Aula 08 - Laços de repetição - Foreach
O laço de repetição foreach é uma tipo de loop específico para ser executado com arrays. Para esse loop criamos uma variável local que irá receber o valor de cada elemento do array, independente do seu número de elementos.
foreach($nome_array as $variavel_local){
echo "$variavel_local";
};
Aula 09 - GET
Podemos recuperar os valores de uma página através da variável global $_GET. Essa variável recupera os dados passados na URL do site declaradas após o caractere '?'. Os dados são recebidos através de um par chave=valor. Podemos passar diversos pares chave=valor separando-os com o caractere '&'. Esse conjunto de dados passados na URL é chamado de Query String.
http://dominio.com?chave1=valor1&chave2=valor2&...chaveN=valorN

Como os dados nem sempre estão na URL devemos sempre tratar a existencia ou não desses dados. Para isso podemos utilizar um operador ternário com a função isset(). Essa função verifica se o valor é diferente de undefined. Caso exista valor retornamos o valor e caso contrário retornamos false ou outro retorno desejado.
A partir da versão 7 do PHP podemos utilizar uma técnica chamada de coalesce. Essa sintaxe é como um operador ternário porém nã prescisamos declarar o valor em caso verdadeiro, apenas o falso. Para isso utilizamos o operador '??' para separar a condição do valor se falso.
$variavel = $_GET['valor'] ?? retorno_falso

Em seguida criamos um modelo de links para retorno de uma página a paratir de ancoras indicadas com o $_GET do php.
<?php $planetas = ['Mercurio', 'Venus', 'Terra', 'Marte', 'Jupiter', 'Saturno', 'Urano', 'Netuno'] ?>
    <?php foreach ($planetas as $planeta) : ?> <li> <a href="get.php?planeta=<?php echo $planeta ?>"><?php echo $planeta ?></a> </li> <?php endforeach; ?>
No exemplo passamos pelo href o valor recuperado no array de $planetas e incluimos esse valor no query string aplicando a seleção ao link solicitado.
Aula 10 - POST
Se por uma lado o método GET é útil para recuperarmos dados da URL, o método POST é ideal para recuperar dados de formulários (o método GET também permite recuperar dados de formulários porém lançando os dados através da URL).
Quando utilizamos o POST em um formulário a propriedade action da tag <form> indica o arquivo que processará os dados enviados, de acordo com o método selecionado. Os dados são enviados tendo como base a propriedade name da tag como chave e o value como valor. Nos campos de preenchimento o value é o valor preenchido. Nos campos de seleção o value é definido na tag para ser enviado pelo método POST (exemplo em checkbox ou radio button). Quando criamos como no exemplo um quadro fieldset com vários valores de checkbox podemos criar um array de valores definindo a propriedade name dos checkbox como tal. (ex: name="nome_do_campo[]").
Entende-se por fim que o GET deve ser utilizado em situações como busca em filtros ou outras opções que podem ser operadas na URL. Já o método POST deve ser utilizado em casos em que precisamos de alguma segurança nos dados como em envios de formulários e requisições de login.
Aula 11 a 12 - Funções / Funções - retorno
Em PHP a estrutura para a criação de funções segue a regra das demasi linguagens:
function($param){
//corpo da função
}
Quando não queremos que a função execute alguma operação mas apenas retorne o valor da operação encerramos a execução da função com o return passando o valor da execução da função para quem a chamou.
Podemos definir valores default para os parametros atribuindo esse valor na declaração do parametro.
Aula 13 - Validação e Escaping
Podemos validar dados no PHP de várias formas. Uma dela é através da função empty(). Essa função retorna true caso o valor seja '', 0, null, false ou array() (array vazio). Nesse caso o valor espaço é considedrado não nulo.
A função trim() retira espaços em bancco antes e depois de uma string.
Como a função empty() considera espaços como valor, podemos combinar as funções empty(trim()) para verificar se o valor não é apenas espaços.
Já para checkbox podemos fazer um coalesce retornando null caso não haja nenhum valor. Nesse caso testamos com a função in_null() se o valor retornado é do tipo null.
Já para campos do tipo textarea devemos nos preocupar entre outras coisas com a possibilidade de execução de códigos em JS por exemplo. Um dos modos para evitar isso é utilizando a função strip_tags que remove tags do código.
Aula 14 - $_SERVER, $_REQUEST, Cliente/Servidor
O PHP possui algumas variáveis globais que possibilitam recuperarmos dados do cliente que acessa os dados e do servidor que hospeda o serviço. Para recuperarmos essa informações acessamos a variável $_SERVER.
Já a variável $_REQUEST possibilita recuperarmos valores dos métodos GET e POST. Nesse caso quando temos valores enviados através dos dois verbos a prioridade será do método POST.