Meu primeiro contato com uma linguagem back-end(lado servidor), foi com o PHP 4. E de início não foi com as boas práticas e com certeza não tinha nenhum vestígio de MVC. Com o tempo isso foi mundando, até por utilizar o Zend framework.
O PHP foi criado em 1994, por Rasmus Lerdorf, e o código fonte liberado em 1995. E é mantido pela organização The PHP Group
.
PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web. -- PHP
O ambiente
Primeiramente para conseguirmos ver uma página em PHP funcionando, precisamos ter um servidor Apache/IIS (De preferência um servidor Apache, que muitos sugerem por ser melhor e para URL Rewriting
se usa o .htaccess e não o web.config) configurado. Para fazer isso na nossa máquina local, tem softwares que ajudam nessa tarefa. Para windows, temos o XAMPP e o WAMP. Para mac, temos o MAMP. E para o linux, querendo ser mais hardcore
, pode seguir esses passos da Digital Ocean para instalação via terminal.
O necessário é ter o Apache e o PHP, instalados na máquina. Provalmente precisará de um banco de dados e isso fica por conta da necessidade do projeto. Querendo instalar manualmente, segue os links abaixo:
- Apache - http://www.apache.org/
- PHP - http://php.net/downloads.php
Sugestões de banco de dados:
- MySQL - http://dev.mysql.com/downloads/
- PostGRE - http://www.postgresql.org/
Sintaxe
Já temos o ambiente e agora precisamos escrever nossas primeiras linhas para ver o PHP, funcionando. Pela lógica arquivos PHP, usaram a extensão .php
.
Podemos usar as tags HTML
, normalmente como fazemos em arquivos de extensão '.html', mas para usarmos o código PHP, o mesmo deverá ser usado como vemos abaixo:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<?php
// script php
?>
<p class="<?php echo imprimirClasse(); ?>">Esse parágrafo tem uma classe inserida via uma função php</p>
</body>
</html>
Variável
Uma variável no PHP, se inicia com o $
(cifrão);
As regras para nomeação, são bem simples:
- Não iniciar com números
- Sem espaços
- Sem caracteres especiais, exceto
underscore
<?php
$name = "Meu nome";
$age = 29;
$account_status = true;
?>
Constante
Também é possível definir constantes com a função define()
. E ela não poderá ser alterado em sua execução. Como boa prática, é sempre boa que seja definida em letras maiúsculas para serem facilmente identificadas.
<?php
define("VALOR", "Esse é o valor");
echo VALOR; // Esse é o valor
?>
Echo ou Print
Para imprimir algo na tela, temos a função echo
ou print
.
//index.php
<?php
echo "Esse texto vai aparecer na minha página inicial";
echo("Esse texto vai aparecer na minha página inicial");
print "Esse texto vai aparecer na minha página inicial";
print("Esse texto vai aparecer na minha página inicial");
// Retornará 4 vezes na tela a frase "Esse texto vai aparecer na minha página inicial"
?>
Os 2 fazem a mesma coisa, sendo que a maior diferença fica por conta que o print
também retorna 1
e o echo
não retorna nada, além do que ele imprime. Podemos ver melhor isso, abaixo:
<?php
echo print('Teste');
// Teste1
$test = print("Teste");
if ($test) echo 'entrou';
// Testeentrou
?>
O echo
tem um atalho.
<? echo "exemplo" ?>
// É o mesmo que
<?="exemplo" ?>
O print
pode ser usado com ternários, já o echo
, não.
$test = ($age < 18) ? print('menor') : print('maior'); //válido
$test = ($age < 18) ? echo('menor') : echo('maior'); //inválido,
Parse error: syntax error, unexpected T_ECHO
Utilizando o echo
, estará economizando 1 byte
e precisando receber um valor de retorno ou utilizar com um ternário, temos o print
.
Estruturas condicionais
Temos o famoso if/else
e o switch/case
. Se já mexeu em outras linguagens de programação, já terá uma familiaridade. Se em um determinado trecho do seu código for necessário ter muitas condições em um mesmo ponto, o mais indicado é o switch/case
, para que o seu código não tenha um hadouken
. :)
<?php
// if/else
if ([condição]) {
//seu código aqui
} else {
//seu código aqui
}
if ([condição]) {
//seu código aqui
} elseif([outra condição]) {
//seu código aqui
} else {
//seu código aqui
}
// swicth/case
$item = 3;
switch ($item) {
case 1:
echo "Item 1";
break;
case 2:
echo "Item 2";
break;
case 3: // condição
echo "Item 3"; // código que será executado
break; // Finaliza a execução
case 4:
echo "Item 4";
break;
case 5:
echo "Item 5";
break;
default:
echo "Nenhum item";
break;
}
?>
No caso do if/else
, se nenhuma condição for atendida, sempre o código contido no else
, será executado. No caso do switch/case
, se nenhuma condição for atendida, o default
, será executado.
Loops
São os laços de repetição que podemos executar, usando: for, while, do while e foreach.
- for - Executa 3 operações (A primeira antes de executar a condição, onde podemos definir as variáveis que serão utilizadas. A segunda é a condição. E a terceira, o que fará se a condição for verdadeira.)
- while - Só executamos uma operação que é a condição. Sendo verdadeira, executa o código.
- do while - Ao contrário do
while
, primeiro executa o código para depois testar a condição. Como podemos ver no exemplo abaixo (que não faz sentido, apenas para exemplo), que ele executa o código, mesmo a condição sendo falsa. - foreach - Simplifica o trabalho com um
array
. Executando de acordo com a quantidade de posições do array, sem precisar informar. E já nos informa de uma vez, a chave e valor da posição.
<?php
for ($i=0, $len = 5; $i < len; $i++) {
echo $i;
}
// 01234
$value = 1;
$max = 5;
while ($value <= $max) {
echo $value;
$value++;
}
// 12345
$count = 1;
do{
echo "Loop número $count";
} while ($count < 1);
// Loop número 1
$alpha = array('a', 'b', 'c', 'd');
foreach ($alpha as $key => $value) {
echo $key." - ".$value."<br />";
}
// 0 - a
// 1 - b
// 2 - c
// 3 - d
?>
Observações
- Para concatenarmos no PHP, usamos
.
.
//index.php
<?php
echo "Esse texto vai aparecer na minha página inicial. " . "E esse texto também.";
?>
- Uma coisa muito importante no PHP, é sempre usar o
;
, após uma declaração. Você pode estar familiarizado com isso noCSS
e noJavascript
.
//index.php
<?php
// sem
define('PHP', 'de boas') echo PHP
//Parse error: syntax error, unexpected T_ECHO
// com
define('PHP', 'de boas'); echo PHP;
// de boas
?>
- Podemos interferir no processo normal de um
loop
. Duas palavrinhas mágicas:break
econtinue
. Como podemos ver abaixo, com obreak
, ele interrompe o processo quando a condição permite a execução do mesmo. No caso docontinue
, quando a condição é verdadeira e o mesmo é executado, ele vai para o próximoloop
, não imprimindo o '0 - a'.
// break
$alpha = array('a', 'b', 'c', 'd');
foreach ($alpha as $key => $value) {
echo $key." - ".$value."<br />";
if($value === 'b') {
echo "Parei na letra ".$value;
break;
}
}
// 0 - a
// 1 - b
// Parei na letra b
// continue
$alpha = array('a', 'b', 'c', 'd');
foreach ($alpha as $key => $value) {
if ($value === 'a') continue;
echo $key." - ".$value."<br />";
}
// 1 - b
// 2 - c
// 3 - d
Conclusão
Essa foi uma pequena introdução ao PHP, nos próximos artigos mostrarei mais sobre a linguagem, frameworks e etc.