Escolar Documentos
Profissional Documentos
Cultura Documentos
Desenvolvimento Web
utilizando PHP
Criado por Igor Rafael e Fernando Pereira
10 passos
10 passos
1. Tecnologias, Ferramentas e Possibilidades
2. A linguagem
3. Aplicativos Web
4. Backend (ou interao com o servidor)
5. Frontend (ou apresentao)
6. Banco de dados
7. CRUD
8. Autenticao e Autorizao (sesses e cookies)
http://www.php.net/
Sempre consulte a documentao oficial
Se estiver em dvida recorra ao PHP do jeito certo
MySQL
Servidor Web
Aciona execuo do PHP
http://www.apache.org
HTML
Linguagem de marcao
Estrutura a informao
http://www.w3.org/community/webed/wiki/HTML
JavaScript (JS)
Comportamento
Interao
https://developer.mozilla.org/pt-BR/docs/JavaScript
Referncias perigosas
Fuja do W3Schools!
Veja mais em W3Fools
Ferramentas
Editores e IDEs
Debuggers
Testes
Modelagem
entre outras
Editores e IDEs
SublimeText
Eclipse+PDT(PHP Development Tools)
Aptana
Zend Studio (Free 30-days trial)
PHPStorm (Free 30-days trial)
XDebug
$b = $a->negate();
$this->assertEquals(-1, $b->getAmount());
}
/*(...)*/
}
....................
Windows (XAMPP)
Certifique-se de estar
utilizando a verso estvel atual
do PHP (5.5+)
O PHP fez grandes avanos adicionando novas funcionalidades
poderosas nos ltimos anos. No deixe que a pequena diferena entre
os nmeros decimais das verses 5.2 a 5.5 o enganem, elas
representam grandes melhorias.
Possibilidades
Pginas estticas geradas pelo
PHP
PHP+HTML+CSS
separadores de instruo: ;
equivalente a:
<?php
echo "Gerado pelo PHP!";
?>
<?php
echo "PHP";
?>
Regra:
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]
echo $mensagem;
?>
Variveis
$ seguido de um identificador
$foo, $bar, $_foo, $_1234, $this
print_r($nomes);
?>
echo FOO;
// nome invalido
define("2FOO", "something");
?>
Operadores
Atribuio
<?php
$variavel = 1; //valor
$variavel = 35 * 234 - 1; //expressao
$variavel = somatorio(10); //retorno de uma funcao
?>
Operadores aritmticos
<?php
$a = 8; $b = 7;
//Negao
var_dump(-$a);
//Adio
var_dump($a + $b);
//Subtrao
var_dump($a - $b);
//Multiplicao
var_dump($a * $b);
//Diviso
var_dump($a / $b);
//Resto da diviso
var_dump($a % $b);
?>
//And
echo $a & $b, "\n";
//Or (or inclusivo)
echo $a | $b, "\n";
//Xor (or exclusivo)
echo $a ^ $b, "\n";
//Not
echo ~ $a, "\n";
//Shift a esquerda
echo $a << $b, "\n";
//Shift a direita
echo $a >> $b, "\n";
?>
Operadores de comparao
<?php
$a = 8; $b = "8";
//ps-incremento
var_dump($a++); //faz $a = 11, mas imprime 10
//pre-incremento
var_dump(++$a); //faz $a = 12, e imprime 12
//ps-decremento
var_dump($a--); //faz $a = 11, e imprime 12
//pre-decremento
var_dump(--$a); //faz $a = 10, e imprime 10
?>
Operadores lgicos
<?php
$a = true; $b = false;
$a = "Hello ";
$a .= "World!"; // agora $a contm "Hello World!"
echo $a, "\n";
?>
Operadores de array
<?php
$a = [1, 2, 3, "12" => "b"];
$b = [1, "2", 3, 12 => "b"];
switch ($opc) {
case 1:
echo "Cachorro Quente";
break;
case 2:
echo "X-Salada";
break;
case 3:
echo "Tudo";
break;
default:
echo "Nao escolhi nada";
}
?>
Estruturas de controle
Switch (usando strings)
<?php
switch ($i) {
case "maa":
case "laranja":
echo "fruta";
break;
case "torta":
echo "no fruta";
break;
}
?>
Estruturas de controle
While
<?php
$i = 1;
echo "Fim";
?>
Estruturas de controle
Do-while
<?php
$i = 1;
do {
echo "$i-esima impressao... \n";
$i++;
} while ($i <= 5);
echo "FIM";
?>
Estruturas de controle
While vs Do-while
<?php
$i = 10;
do {
echo "Esse codigo sera executado uma vez.";
} while ($i <= 5);
?>
Estruturas de controle
For
<?php
for ($i=1; $i<=5; $i++) {
echo "$i-esima impressao... \n";
}
echo "FIM.";
?>
Estruturas de controle
Foreach (apenas para arrays e objetos)
<?php
$numeros = array("dois", "um", "trs");
while (++$i) {
switch ($i) {
case 5:
echo "No 5\n";
break; /*ou 'break 1;' sai apenas do switch. */
case 10:
echo "No 10; saindo!\n";
break 2; /* Termina o switch e o while. */
default:
break;
}
}
?>
Estruturas de controle
Continue
<?php
$i = 0;
Como execut-la
<?php
functionName($value1, $value2, ...);
?>
Funes
Exemplo: somatrio
<?php
function somatorio($N)
{
$sum = 0;
return $sum;
}
?>
Como execut-la
<?php
echo somatorio(100);
?>
Classes
<?php
class UmaClasseSimples
{
// declarao de atributos
public $var = 'valor default do atributo';
// declarao de um mtodo
public function imprimeVar() {
echo $this->var;
}
}
?>
Objetos
<?php
$objeto = new UmaClasseSimples();
function imprimirConstante() {
echo "Vindo do mtodo imprimirConstante: ";
echo self::umaConstante, "\n";
}
}
function __destruct() {
print "Destrundo objeto " . $this->name . "\n";
}
}
function printHello() {
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj = new OutraClasse();
echo $obj->public, "\n"; // Acesso permitido
echo $obj->protected; // Erro fatal, interrompe execuo
$obj->printHello();
?>
Composio de arquivos
<?php
include('nome_do_arquivo.php'); //inclui e interpreta o arquivo
require('nome_do_arquivo.php'); //interrompe o script se encontrar erros
if($diaAtual == $dia) {
$estilo .= " background-color:red;";
}
?> <td style="<?=$estilo?>"><?=$dia?></td><?php
$dia++;
$diaSemana++;
//(...)nova linha para a prxima semana (prximo slide)(...)
}
Nova linha para a prxima
semana
<?php
//(...)
//nova linha para a prxima semana
if ($diaSemana > 7) {
?>
</tr>
<tr>
<?php
$diaSemana = 1;
}
//(...)
?>
Gran finale
<?php
//(...)
//preenche os espaos em branco ao final do calendrio
while($diaSemana > 1 && $diaSemana <=7) {
?>
</td>
<td>
<?php
$diaSemana++;
}
?>
</tr>
</table>
Como ficou