Introdução
Evandro Klimpel Balmant
@EvandroBalmant
História do PHP
Rasmus Lerdorf
1995 - Personal Home Page Tools (1.0)
1997 - PHP/FI (2.0) 50.000 Domínios
“O Criador”
Atualmente trabalha no Yahoo!
História do PHP
Andi Gutmans Zeev Suraski
nd + Ze = Zend
1998 – PHP 3.0
2000 – PHP 4.0 Zend Engine
PHP Hipertext Preprocessor
10% dos Domínios da Web
20% dos Domínios da Web
2004 – PHP 5.0
Hoje – PHP 5.3.3
Quem usa PHP ?
Ambiente de Desenvolvimento
+ + +
=
“LAMP”
+ + +
=
Qual a Melhor IDE ?
Hello World!
<?php
echo “Hello World!”;
?>
<?=“Hello World!”?>
OU
PHP Embutido no HTML
<html>
<head>
<title>Que dia é hoje?</title>
</head>
<body>
<h1>Hoje é <?php echo date('d/m/Y');?>.</h1>
</body>
</html>
Sintaxe
<?php
//Standard Tag
?>
<?
//Short Tag
?>
<script language="php">
//Script Tag
</script>
<%
//ASP Tag
%>
//Comentário de 1 linha
#Comentário de 1 linha
/*
Comentário de Múltiplas linhas
*/
/**
* Comentário de Documentação
*
* @author Evandro Balmant
*/
PHP Tags Comentários
Tipos de Dados e Variáveis
boolean true ou false
int Números Inteiros
float Números Reais
string Caracteres
<?php
$var = true;
$var = 123;
$var = 32.1;
$var = "Brasil";
?>
Constantes
<?php
define('PI', 3.14159);
$raio = 25;
$circ = PI * ($raio * 2);
echo "A Circunferência do raio {$raio} é " . $circ;
?>
Operadores Aritméticos
Adição $a = 1 + 3.5;
Subtração $a = 4 – 2;
Multiplicação $a = 8 * 3;
Divisão $a = 15 / 5;
Módulo $a = 23 % 7;
Operador de String
Concatenação $nome = “Evandro”;
$nome .= “ Balmant”;
$aluno = $id . “ - ”. $nome;
Operadores de Incremento e Decremento
Incremento $a = 10;
$a++;
Decremento $a = 10;
$a--;
Operadores de Atribuição
Atribuição simples $a = 2;
Atribuição com adição $a += 3;
Atribuição com subtração $a -= 4;
Atribuição com multiplicação $a *= 5;
Atribuição com divisão $a /= 6;
Atribuição com módulo $a %= 7;
Operadores Lógicos
E / AND if($a > 2 && $a < 5){...}
if(($a > 2) AND ($a < 5)){...}
OU / OR if($x == “adm” || $x == “root” ){...}
if(($x == “adm”) OR ($x == “root” )){...}
Negação $var = false;
echo !$var;
Operadores de Comparação
Equivalência if($a == true){...}
if($b == 5){...}
Diferente if($x != $y){...}
if($login != “admin”){...}
Maior if($a > 10){...}
Menor if($b < 10){...}
Maior ou Igual if($a >= 5){...}
Menor ou Igual if($b <= 5){...}
Estrutura de Controle - If
<?php
// Se...
if($condicao == true){
//Executa se a condição for verdadeira
}
// Se... / Senão...
if($condicao == false){
//Não executa
}else {
//Executa
}
?>
Estrutura de Controle - Switch
<?php
// Escolha...
switch($valor){
case ‘x’:
//Faz x...
break;
case ‘y’:
//Faz y...
break;
default:
//Outro caso, faz ...
}
?>
Estrutura de Repetição - For
<?php
// Para...
for($i = 0; $i < 5; $i++)
{
/**
* Executa enquanto a condição
* for verdadeira
*/
}
?>
Estrutura de Repetição - While
<?php
// Enquanto...
while($condicao == true)
{
/**
* Executa enquanto a condição
* for verdadeira
*/
}
?>
Estrutura de Repetição – Do, While
<?php
// Faça, e Enquanto...
do
{
//Executa pelo menos 1 vez
} while($condicao == true)
?>
Estrutura de Repetição – Foreach
<?php
$cores = array();
$cores[0] = “Verde”;
$cores[1] = “Amarelo”;
$cores[2] = “Azul”;
foreach($cores AS $key => $value)
{
echo $key . “ - “ . $value . “<br />”;
}
?>
Funções
<?php
function soma($a, $b)
{
return $a + $b;
}
echo soma(2, 3);
?>
Arrays
<?php
$cores = array();
$cores[0] = “Verde”;
$cores[1] = “Amarelo”;
$cores[2] = “Azul”;
echo count($cores) . “<br />”;
echo $cores[1];
?>
Orientação a Objetos - Classe
<?php
class Carro {
private $modelo; //Atributo/Propriedade
public function setModelo($modelo) {
//Atribuir o valor do parâmetro na propriedade
$this->modelo = $modelo;
}
public function getModelo() {
//Retorna o valor da Propriedade
return $this->modelo;
}
}
?>
Orientação a Objetos - Instância
<?php
//Instância do Objeto
$carro = new Carro();
//Chamar método parrando parâmetro
$carro->setModelo(“Chevete Tubarão”);
//Recuperando valor da propriedade
echo $carro->getModelo();
?>
Orientação a Objetos - Construtor
<?php
class Carro {
private $modelo; //Atributo/Propriedade
public function __construct($modelo) {
//Atribuir o valor do parâmetro na propriedade
$this->modelo = $modelo;
}
}
$carro = new Carro(”Fuscão Preto”);
?>
Orientação a Objetos – Herança
<?php
class Automovel {
private $rodas; //Atributo/Propriedade
public function setQtdRodas($qtdRodas) {
$this->rodas = $qtdRodas;
}
public function getQtdRodas() {
return $this->rodas;
}
}
class Triciclo extends Automovel {
public function __construct($qtdRodas) {
$this->setQtdRodas($qtdRodas);
}
}
$carro = new Triciclo(3);
?>
Orientação a Objetos – Métodos estáticos
<?php
class Util
{
static public function dobra($num) {
return $num * 2;
}
}
echo Util::dobra(5); //Escreve 10
?>
Orientação a Objetos – Propriedades estáticas
<?php
class Util
{
static $num;
static public function somaNum($somar) {
self::$num += $somar; //Atribui
somando
}
}
Util::$num = 100; //Define um valor na propriedade
Util::somaNum(50); //Chamando método estático
echo Util::$num; //Imprime 150
?>
Programação Web – Superglobal $_GET
http://localhost/pagina.php?id=5
<?php
echo $_GET[‘id’]; //Imprime 5
?>
Programação Web – Superglobal $_POST
<html>
<head>
<title>Formulário</title>
</head>
<body>
<form action=“pagina.php” method=“post”>
<label name=“nome”>Nome:</label><br />
<input type=“text” name=“nome” /><br />
<label name=“mensagem”>Mensagem:</label><br />
<textarea name=“mensagem”></textarea><br />
<input type=“submit” value=“Enviar” />
</form>
</body>
</html>
Programação Web – Superglobal $_POST
<?php
echo $_POST[‘nome’];
echo “<hr />”;
echo “<pre>”;
print_r($_POST); //Imprime o array
echo “</pre>”;
?>
Banco de Dados
<?php
mysql_connect(“127.0.0.1”, “root”, “123”);
mysql_select_db(“teste”);
$sql = “SELECT * FROM nome_tabela”;
$res = mysql_query($sql);
while($linha = mysql_fetch_array($res))
{
echo $linha[‘nome_coluna’];
}
?>
Dúvidas ?
Evandro Klimpel Balmant
@EvandroBalmant
http://www.blogalizado.com.br

Curso de Introdução - PHP

  • 1.
  • 2.
    História do PHP RasmusLerdorf 1995 - Personal Home Page Tools (1.0) 1997 - PHP/FI (2.0) 50.000 Domínios “O Criador” Atualmente trabalha no Yahoo!
  • 3.
    História do PHP AndiGutmans Zeev Suraski nd + Ze = Zend 1998 – PHP 3.0 2000 – PHP 4.0 Zend Engine PHP Hipertext Preprocessor 10% dos Domínios da Web 20% dos Domínios da Web 2004 – PHP 5.0 Hoje – PHP 5.3.3
  • 4.
  • 5.
    Ambiente de Desenvolvimento ++ + = “LAMP” + + + =
  • 6.
  • 7.
    Hello World! <?php echo “HelloWorld!”; ?> <?=“Hello World!”?> OU
  • 8.
    PHP Embutido noHTML <html> <head> <title>Que dia é hoje?</title> </head> <body> <h1>Hoje é <?php echo date('d/m/Y');?>.</h1> </body> </html>
  • 9.
    Sintaxe <?php //Standard Tag ?> <? //Short Tag ?> <scriptlanguage="php"> //Script Tag </script> <% //ASP Tag %> //Comentário de 1 linha #Comentário de 1 linha /* Comentário de Múltiplas linhas */ /** * Comentário de Documentação * * @author Evandro Balmant */ PHP Tags Comentários
  • 10.
    Tipos de Dadose Variáveis boolean true ou false int Números Inteiros float Números Reais string Caracteres <?php $var = true; $var = 123; $var = 32.1; $var = "Brasil"; ?>
  • 11.
    Constantes <?php define('PI', 3.14159); $raio =25; $circ = PI * ($raio * 2); echo "A Circunferência do raio {$raio} é " . $circ; ?>
  • 12.
    Operadores Aritméticos Adição $a= 1 + 3.5; Subtração $a = 4 – 2; Multiplicação $a = 8 * 3; Divisão $a = 15 / 5; Módulo $a = 23 % 7;
  • 13.
    Operador de String Concatenação$nome = “Evandro”; $nome .= “ Balmant”; $aluno = $id . “ - ”. $nome;
  • 14.
    Operadores de Incrementoe Decremento Incremento $a = 10; $a++; Decremento $a = 10; $a--;
  • 15.
    Operadores de Atribuição Atribuiçãosimples $a = 2; Atribuição com adição $a += 3; Atribuição com subtração $a -= 4; Atribuição com multiplicação $a *= 5; Atribuição com divisão $a /= 6; Atribuição com módulo $a %= 7;
  • 16.
    Operadores Lógicos E /AND if($a > 2 && $a < 5){...} if(($a > 2) AND ($a < 5)){...} OU / OR if($x == “adm” || $x == “root” ){...} if(($x == “adm”) OR ($x == “root” )){...} Negação $var = false; echo !$var;
  • 17.
    Operadores de Comparação Equivalênciaif($a == true){...} if($b == 5){...} Diferente if($x != $y){...} if($login != “admin”){...} Maior if($a > 10){...} Menor if($b < 10){...} Maior ou Igual if($a >= 5){...} Menor ou Igual if($b <= 5){...}
  • 18.
    Estrutura de Controle- If <?php // Se... if($condicao == true){ //Executa se a condição for verdadeira } // Se... / Senão... if($condicao == false){ //Não executa }else { //Executa } ?>
  • 19.
    Estrutura de Controle- Switch <?php // Escolha... switch($valor){ case ‘x’: //Faz x... break; case ‘y’: //Faz y... break; default: //Outro caso, faz ... } ?>
  • 20.
    Estrutura de Repetição- For <?php // Para... for($i = 0; $i < 5; $i++) { /** * Executa enquanto a condição * for verdadeira */ } ?>
  • 21.
    Estrutura de Repetição- While <?php // Enquanto... while($condicao == true) { /** * Executa enquanto a condição * for verdadeira */ } ?>
  • 22.
    Estrutura de Repetição– Do, While <?php // Faça, e Enquanto... do { //Executa pelo menos 1 vez } while($condicao == true) ?>
  • 23.
    Estrutura de Repetição– Foreach <?php $cores = array(); $cores[0] = “Verde”; $cores[1] = “Amarelo”; $cores[2] = “Azul”; foreach($cores AS $key => $value) { echo $key . “ - “ . $value . “<br />”; } ?>
  • 24.
    Funções <?php function soma($a, $b) { return$a + $b; } echo soma(2, 3); ?>
  • 25.
    Arrays <?php $cores = array(); $cores[0]= “Verde”; $cores[1] = “Amarelo”; $cores[2] = “Azul”; echo count($cores) . “<br />”; echo $cores[1]; ?>
  • 26.
    Orientação a Objetos- Classe <?php class Carro { private $modelo; //Atributo/Propriedade public function setModelo($modelo) { //Atribuir o valor do parâmetro na propriedade $this->modelo = $modelo; } public function getModelo() { //Retorna o valor da Propriedade return $this->modelo; } } ?>
  • 27.
    Orientação a Objetos- Instância <?php //Instância do Objeto $carro = new Carro(); //Chamar método parrando parâmetro $carro->setModelo(“Chevete Tubarão”); //Recuperando valor da propriedade echo $carro->getModelo(); ?>
  • 28.
    Orientação a Objetos- Construtor <?php class Carro { private $modelo; //Atributo/Propriedade public function __construct($modelo) { //Atribuir o valor do parâmetro na propriedade $this->modelo = $modelo; } } $carro = new Carro(”Fuscão Preto”); ?>
  • 29.
    Orientação a Objetos– Herança <?php class Automovel { private $rodas; //Atributo/Propriedade public function setQtdRodas($qtdRodas) { $this->rodas = $qtdRodas; } public function getQtdRodas() { return $this->rodas; } } class Triciclo extends Automovel { public function __construct($qtdRodas) { $this->setQtdRodas($qtdRodas); } } $carro = new Triciclo(3); ?>
  • 30.
    Orientação a Objetos– Métodos estáticos <?php class Util { static public function dobra($num) { return $num * 2; } } echo Util::dobra(5); //Escreve 10 ?>
  • 31.
    Orientação a Objetos– Propriedades estáticas <?php class Util { static $num; static public function somaNum($somar) { self::$num += $somar; //Atribui somando } } Util::$num = 100; //Define um valor na propriedade Util::somaNum(50); //Chamando método estático echo Util::$num; //Imprime 150 ?>
  • 32.
    Programação Web –Superglobal $_GET http://localhost/pagina.php?id=5 <?php echo $_GET[‘id’]; //Imprime 5 ?>
  • 33.
    Programação Web –Superglobal $_POST <html> <head> <title>Formulário</title> </head> <body> <form action=“pagina.php” method=“post”> <label name=“nome”>Nome:</label><br /> <input type=“text” name=“nome” /><br /> <label name=“mensagem”>Mensagem:</label><br /> <textarea name=“mensagem”></textarea><br /> <input type=“submit” value=“Enviar” /> </form> </body> </html>
  • 34.
    Programação Web –Superglobal $_POST <?php echo $_POST[‘nome’]; echo “<hr />”; echo “<pre>”; print_r($_POST); //Imprime o array echo “</pre>”; ?>
  • 35.
    Banco de Dados <?php mysql_connect(“127.0.0.1”,“root”, “123”); mysql_select_db(“teste”); $sql = “SELECT * FROM nome_tabela”; $res = mysql_query($sql); while($linha = mysql_fetch_array($res)) { echo $linha[‘nome_coluna’]; } ?>
  • 36.
    Dúvidas ? Evandro KlimpelBalmant @EvandroBalmant http://www.blogalizado.com.br