Upload
evandro-klimpel-balmant
View
1.287
Download
1
Embed Size (px)
DESCRIPTION
Slides do Curso de Introdução PHP e Orientação a Objeto com PHP
Citation preview
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
<?phpdefine('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
<?phpfunction 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
<?phpclass 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 Propriedadereturn $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 propriedadeecho $carro->getModelo();
?>
Orientação a Objetos - Construtor
<?phpclass 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
<?phpclass 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
<?phpclass Util{
static public function dobra($num) {return $num * 2;
}}
echo Util::dobra(5); //Escreve 10?>
Orientação a Objetos – Propriedades estáticas
<?phpclass Util{
static $num;
static public function somaNum($somar) { self::$num += $somar; //Atribui
somando}
}
Util::$num = 100; //Define um valor na propriedadeUtil::somaNum(50); //Chamando método estáticoecho Util::$num; //Imprime 150
?>
Programação Web – Superglobal $_GET
http://localhost/pagina.php?id=5
<?phpecho $_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
<?phpecho $_POST[‘nome’];
echo “<hr />”;
echo “<pre>”;print_r($_POST); //Imprime o arrayecho “</pre>”;
?>
Banco de Dados
<?phpmysql_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