Linguagem PHP

2,928 views
2,738 views

Published on

Apresentação feita para a materia de Conceitos e Paradigmas em Linguagens de Programação, onde a linguagem escolhida foi o PHP.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,928
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
49
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Linguagem PHP

  1. 1. Linguagem PHP Bruno Cunha Paulo Alves Computação – 6º Período Conceitos e Paradigmas de Linguagens de Programação
  2. 2. O que é PHP?O PHP: Hypertext PreprocessorO Linguagem de Scripting fracamente tipadaO Interpretada em tempo de execuçãoO Procedural e Orientada a ObjetosO Normalmente utilizada para criar aplicações web 2
  3. 3. O que é PHP?O Portabilidade O Sistemas Operacionais O Windows O RISC OS O AS/400 O SGI IRIX 6.5.x O Mac OS X O Solaris (SPARC, INTEL) O Novell NetWare O Solaris OpenCSW packages O OS/2 O Redhat/CentOS Binaries O Não disponível para Linux O Compilar o código-fonte ou O Pegar o interpretador compilado no site da distro 3
  4. 4. Como Funciona o PHP?Cliente Servidor ... Arquivo PHP Base de Dados Serviço de E-Mail Requisição Interação Documento HTML Servidor Web Interpretador PHP 4
  5. 5. Como Funciona o PHP?Cliente Servidor ... Arquivo PHP Base de Dados Serviço de E-Mail Requisição Interação Documento HTML Servidor Web Interpretador PHP 5
  6. 6. Linha de Comando 6
  7. 7. Quem usa PHP? O Wikipedia O Yahoo! O Facebook O Oracle O Twitter O Wordpress O Netbeans O Eclipse O + outros 20 milhões de domínios 7Fonte: Netcraft (http://www.netcraft.com/Survey/)
  8. 8. Breve história do PHPO Personal Home Page / Forms Interpreter O Criada por Rasmus Lerdorf O PHP/FI 1.0 liberada em 1995 O PHP/FI 2.0 liberada em 1997O PHP: Hypertext Preprocessor O Criada por Andi Gutmans e Zeev Suraski O PHP 3.0 liberada em 1998 O PHP 4.4 liberada em 2005 8
  9. 9. Breve história do PHPO PHP: Hypertext Preprocessor 5 O Novo modelo de objetos O PHP 5.0 liberada em 2004 O PHP 5.3 liberada em 2009O PHP: Hypertext Preprocessor 5.3.3 O Versão Atual O Liberada em Julho de 2010 9
  10. 10. SintaxeUsando a linguagem PHP 10
  11. 11. Atribuição de Variável<?php$hello = „Hello World‟;echo $hello;?>Saída:Hello World!
  12. 12. Tipos de DadosO Primitivos O Valores lógicos O TRUE, FALSE O Números inteiros O 2 O 0x12 O Números com ponto flutuante O 4.5 O 7E – 10 O Cadeias de caracteres O “Olá, $nome” O „Olá, $nome‟ 12
  13. 13. Tipos de DadosO Compostos O Arrays O Vetor multidimensional abstrato, através do qual se pode construir listas, filas, pilhas, dicionários e outras construções similares O Objetos O Variável de um tipo de dados criado pelo usuário que pode conter múltiplos atributos, definida através de um método construtor. 13
  14. 14. Tipos de DadosO Especiais O Resource O existente a partir da versão 4 da linguagem, usada para referenciar recursos externos: bases de dados, arquivos, sockets... O Null O objeto nulo, atribuido a toda variável apagada, não carregada ou após uma atribuição da constante null O Mixed O usado em declarações de protótipos, determinando que mais de um tipo de retorno é esperado ou mais de um tipo de parâmetro pode ser usado 14
  15. 15. Manipulação de TiposO Tipagem dinâmica O Tipo não é declaradoO Fracamente tipada O Conversão de tipos implícita<?php$foo = "0"; // $foo é string$foo += 2; // $foo é agora um inteiro$foo = $foo + 1.3; // $foo é agora um float$foo = 5 + "10 pequenos porcos"; // $foo é inteiro$foo = 5 + "10 minúsculos porcos"; // $foo é inteiro?> 15
  16. 16. IdentificadoresO Variáveis O Sempre antecedido pelo símbolo “$”.O Constantes O São declaradas pela função “define” ou palavra reservada “const”. O São referenciadas sem o “$”.<?phpdefine(“PI”, 3.1415); // normalconst RAIO = 35; // > PHP 5.3$circunferencia = 2 * PI * RAIO;?> 16
  17. 17. Variáveis VariáveisO Variáveis com capacidade para guardar o nome de outras variáveis.<?php$a = „ola‟;$$a = „ mundo‟;//$$a é o mesmo que escrever $ola.echo ($a.$ola); // olamundoecho ($a.$$a); // olamundo?> 17
  18. 18. Arrays (Vetores) Índice Automático Índice Explícito<?php <?php$foo[] = bar; // [0] => bar $foo[0] = bar; // [0] => bar$foo[] = baz; // [1] => baz $foo[1] = baz; // [1] => baz $foo = array($foo = array( 0 => bar, // [0] => bar bar, // [0] => bar 1 => baz, // [1] => baz baz, // [1] => baz ); ); ?>?> 18
  19. 19. <?php <?php$tab = array (4=> 1, 2, 3, 9=> 4,5,6,7); $tab = array (“b”=>1, “a”=2, 3, 4);echo $tab[0]; // produz erro echo $tab[“a”]; // imprime 2echo $tab[4]; // imprime 1 echo $tab[0]; // imprime 3echo $tab[5]; // imprime 2 echo $tab[2]; // produz erro?> ?> <?php $tab = array (1, array (2,3)); echo $tab[1][0]; // imprime 2 echo $tab[0]; // imprime 1 echo $tab[0][0]; // produz erro ?>
  20. 20. Comparação• Equivalência <?php if (2 == 3) { echo „Não‟; } if (3 == 3) { echo „Sim‟; } if (2 != 3) { echo „Sim‟; } ?>• Identidade <?php if (3 === 3) { echo „Não‟; } if (3 === 3) { echo „Sim‟; } if (3 !== 4) { echo „Sim‟; } ?>
  21. 21. Interpolação em Strings Aspas Simples Aspas Duplas<?php <?php$x = 2; $x = 2;echo „Comi $x cookies.‟; echo “Comi $x cookies.”;// Comi $x cookies. echo “Comi {$x} cookies. ”;?> // Comi 2 cookies. ?> 21
  22. 22. Estruturas de controleO Condicionais O if, else, ifelse / if else, switchO Iteradores O while, for, do while e foreachO Foreach <?php $lista = array(0, 1, 2, 3, 4); foreach ($lista as $item) {echo $item;} foreach ($lista as $chave => $valor) { echo “Item {$chave}: {$valor}”; } ?> 22
  23. 23. Classes e Objetos<?phpclass Foo{ public static $meu_estatico = foo; private $nao_estatica = bar; public static function umMetodoEstatico() { echo $this->nao_estatica; } public function valorEstatico() { return self::$meu_estatico; }}Foo::umMetodoEstatico();$objeto = new Foo();echo $objeto->valorEstatico();?> 23
  24. 24. Classes e Objetos<?phpclass Foo{ Todo método/função é public static $meu_estatico = foo; declarado com “function” private $nao_estatica = bar; Uso de seta “->” para acessar public static function umMetodoEstatico() propriedades e métodos { echo $this->nao_estatica; } Operador “::” para acesso a public function valorEstatico() métodos ou propriedades { return self::$meu_estatico; estáticas e constantes de } uma classe.}Foo::umMetodoEstatico();$objeto = new Foo();echo $objeto->valorEstatico();?> 24
  25. 25. O Passagem por Valor O Passagem por Omissão <?php <?php function soma ($n) { function gostoDe ($bebida, $outra=„leite‟) $soma=0; { for ($i=1; $i <= $n; $i++) $soma += $i; return “Gosto de {$bebida} com return $soma; {$outra}.”; } ?> } echo gostoDe(„café‟);O Passagem por Referência // Gosto de café com leite. echo gostoDe(„vodka‟, „sprite‟); <?php function soma (&$n) // Gosto de vodka com sprite. { ?> $soma=0; for ($i=1; $i <= $n; $i++) $soma += $i; return $soma; } ?>
  26. 26. ExtensõesO Filesystem O $arquivo = file_get_contents(„arquivo.txt‟); O file_ put_ contents(„arquivo.txt‟, $dados);O Processamento de Imagem (GD)O E-Mail (Mail)O Data e HoraO Manipulação de ArraysO Expressão Regular (POSIX Extended) 26
  27. 27. Bancos de Dados SuportadosO Adabas D O Direct MS-SQLO dBase O MySQLO Empress O ODBCO FilePro (read-only) O Oracle (OCI7 and OCI8)O Hyperwave O OvrimosO IBM DB2 O PostgreSQLO Informix O SQLiteO Ingres O SolidO InterBase O SybaseO FrontBase O VelocisO mSQL O Unix dbm 27
  28. 28. ProjetosO PHP-GTK O Criação de interfaces gráficas para o PHPO Roadsend PHP O Compilador de PHP para binárioO Phalanger O Compilador de PHP para Byte-CodesO Quercus O Permite executar PHP em JavaO HipHop O Tradutor de código-fonte PHP para C++ 28
  29. 29. Observações FinaisO PHP não suporta Threads.O Programador não é obrigado a tratar excessões.O PHP não gera somente HTML, é possível criar também PDF, imagens, animações em Flash, XML, etc.O PHP tem suporte a comunicação com a maioria dos protocolos: POP3, COM, NNTP, IMAP, SNMP e incontáveis outros. 29
  30. 30. 30
  31. 31. Interface com PHP-GTK 31
  32. 32. Perguntas? 32

×