PHP Programação Poderosa
Upcoming SlideShare
Loading in...5
×
 

PHP Programação Poderosa

on

  • 4,420 views

 

Statistics

Views

Total Views
4,420
Views on SlideShare
4,387
Embed Views
33

Actions

Likes
6
Downloads
112
Comments
0

5 Embeds 33

http://www.slideshare.net 16
http://www.linkedin.com 10
https://www.linkedin.com 3
http://www.health.medicbd.com 2
http://www.slideee.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

PHP Programação Poderosa PHP Programação Poderosa Presentation Transcript

  • PHP Programação Poderosa PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Conteúdo ● Apresentação ● História ● Prós e Contras ● Funcionamento ● Executando ● Conclusão PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Apresentação ● Desenvolvedor Sênior PHP ● 5 anos em desenvolvimento web ● Palestrante PHP – Conisli, PHP Conference, FADAP (Tupã - SP) ● Projetos: Saúde, RH, Comércio ● Atualmente: – Controle de tráfego; inteligência de trânsito ● www.duodraco.com PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • História ● 1994 ~ 1996 – Rasmus Lerdorf ● Engenheiro de Software / Apache ● Yahoo – Wrapper Perl – Personal Home Pages – PHP/FI (Form Interpreter) ● 2ª versão ● Analise de consultas SQL PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • História ● PHP 3 - 1998 – Andi Gutmans / Zeev Suraski ● Zend – Core reescrito – Abertura para a comunidade – Maturidade – 1999: +1 milhão de dominios usavam PHP PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • História ● PHP 4 – 2000 – Zend Engine ● Core do PHP ● Converte em “bytecode”, depois executa – CLI – Interpretador de Linha de Comando – Performance melhorada – Sessions – Orientação a Objetos PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • História ● PHP 5 – 2004 – Zend Engine 2 – POO Aprimorada ● Destrutores, interfaces, PPP, etc. ● Exceptions – Facilidades com XML ● SimpleXML – SPL – Standard PHP Library – Performance e segurança aprimorados PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • História – o futuro ● PHP 6 - ???? – Suporte a unicode a partir do núcleo – Eliminação de diretivas inseguras ● register_globals, magic_quotes – PDO – conexão padrão com BD – XMLReader e XMLWriter – Namespaces – Aprimoramentos ● sintaxe, performance e segurança PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Prós e Contras ● Open-source ● Open-source ● Multi-plataforma ● Falta(va) ● Integrável – framework ● Leve e rápido – empresas grandes – marketing ● Comunidade – certificação ● Extensível ● Segurança ● Crescente – configuração PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Prós ● ~10MB (pacote completo) ● Baixa carga de servidor ● Conectividade com BD – Mysql,Oracle,DB2,SQLServer,SQLite,Postgres ● PECL e PEAR – PHPClasses, frameworks ● Sempre atualizado ● Oracle e IBM PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Contras ● Sem suporte completo para Unicode ● Tipagem fraca ● Inconsistência na nomenclatura ● Falta de uso de padronização ● POO ainda deficiente – Tipagem, sobrecarga, namespace/módulo ● Marketing PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Apêndice 1: Porque eu uso? ● Curva de aprendizagem ● Constante evolução ● Custo muito baixo / Resultados excelentes ● Extensões, bibliotecas, comunidade ● IDEs e ferramentas ● “O futuro dos sistemas é a web; PHP foi feito para a web, diferente de outras linguagens e plataformas” PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Funcionamento Cliente Requisição Banco de Dados __________________ Mysql Postgres Servidor Web Oracle _______________ SQLServer Apache Resposta ... IIS Xitami iSeries – IBM ... PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Funcionamento ● Servidor – Processa a requisição ● Acessa BD, XMLs, serviços, etc ● Gera uma saída (HTML, XML, webservice, etc...) – Retorna para o cliente ● Navegador, cosumidor ws, agregador RSS, etc... ● Cliente – Renderiza e processa a resposta – XML, xHTML, Javascript, CSS, etc... PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Tags: <? ?>, <?php ?> ● Comandos: terminam em ; ● Blocos: definidos por { } ● Variáveis: $ ● Constantes: define('Nome',valor) ● Tipos – String, integer, float, boolean, object, array, null e resource PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Strings – aspas simples: 'string “crua”, 'entende'?' – aspas duplas: “string $dinamica, 'morou'? n” – heredoc: <<<STR Olha que coisa, posso escrever pulando linhas 'com aspas simples' ou “duplas” e com $variaveis STR PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Integers e floats – 1234, -123 – 0123 (octal: 83) – 0x1A (hexadecimal: ) – 1.234 – 1.2e3 (notação científica: 1200) PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Array – $arr = array(1,2,3) – $arr = array(array(1,2,3),array('a','b','c')) – $arr[] = 1 – $arr[3][] = 'teste' – $arr['testando'] = 'que coisa' – $a = “teste”; ● $a[2] //'s' PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Boolean – true | false – “a”,”321”,1, -1,array(1) – “”,0,array(),null ● Null – null é null uai PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Resource – Tipo para identificar entidades externas ● Conexão BD, ponteiro de Arquivos, etc... ● Object – Identifica instâncias de objetos ● PDO, SimpleXMLElement ● stdClass PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Olá Mundo, hoje é 28/09/2007 <? echo “Ol&aacute; Mundo, hoje &eacute; ”; echo date(“d/m/Y”); ?> PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Select (html) com os meses do ano <? $meses = array(0,'Janeiro','Fevereiro', 'Março','Abril','Maio','Junho','Julho','Agosto', 'Setembro','Outubro','Novembro','Dezembro'); ?> <select name=”meses”> <?for($i = 1,$i < count($meses);$i++){?> <option value=”<?=$i?>”> <?=$meses[$i]?> </option> <?}?> </select> PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Sequência de Fibonacci function Fibonacci( $steps = 20 ){ list($cur,$nxt,$inc,$seq) = array(0,1,1,array()); do{ $inc++; $seq[] = $cur; $add = $cur + $nxt; $cur = $nxt; $nxt = $add; } while ( $inc <= $steps ); return $seq; } echo implode(' - ',Fibonacci( 20 )); PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Apêndice 2: loops ● for($i = 0; $i < $j; $i++){} ● while($condicao){} ● do{}while($condicao) ● foreach($array as $chave=>$valor){} ● foreach($array as $valor){} ● foreach($obj as $atributo=>$valor){} – Adoro o foreach PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Formulários HTML <form action=quot;script.php?var=1quot; method=quot;postquot;> <input type=quot;hiddenquot; name=quot;varquot; value=quot;2quot; /> Nome: <input type=quot;textquot; name=quot;nomequot; id=quot;nomequot; /><br /> Preferencias: <br /> <input type=quot;checkboxquot; name=quot;pref[]quot; value=quot;phpquot; /> PHP<br /> <input type=quot;checkboxquot; name=quot;pref[]quot; value=quot;outraquot; /> Outras<br /> <button type=quot;submitquot;>Vai!!!</button> </form> PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● script.php echo $var; Array( print_r($_GET); [var] => 1 print_r($_POST); ) Array( [var] => 2 [nome] => teste [pref] => Array( [0] => php [1] => outra ) ) PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Conexão com BD MySQL – estilo velho mysql_connect('host','usuario','5 3 N h 4'); mysql_select_db('schema'); $qry = mysql_query(quot;SELECT nome,idade FROM usuariosquot;); while($rs = mysql_fetch_array($qry)){ echo quot; - {$rs['nome']} ({$rs['idade']})<br />quot;; } mysql_close(); PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● Conexão com BD MySQL – PDO $db = new PDO('mysql:host=servidor;dbname=schema', 'usuario','5 3 N H 4'); foreach ($dbh->query(quot;SELECT nome,idade FROM usuariosquot;) as $rs){ echo quot; - {$rs['nome']} ({$rs['idade']})<br />quot;; } PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● XML: procurando dados <colecao> <disco id=quot;1quot;> <banda>Hammerfall</banda> <album>Glory to the Brave</album> </disco> <disco id=quot;2quot;> <banda>Kamelot</banda> <album>Ghost Opera</album> </disco> <disco id=quot;3quot;> <banda>Kamelot</banda> <album>Karma</album> </disco> </colecao> PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Executando ● busca.php $sx = simplexml_load_file('colecao.xml'); $busca = $sx->xpath(quot;//disco[album='Karma']/bandaquot;); print_r($busca); Array( [0] => SimpleXMLElement Object( [0] => Kamelot ) ) PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Apêndice 3: XPath ● Usado para busca de informação – Atributos e Elemrntos ● Padrão de sintaxe de busca em XML ● XQuery e XPointer baseados em XPath ● Base para o XSLT – PHP suporta XSL PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Conclusão ● Linguagem madura ● Comunidade ativa ● Robusto e repleto de recursos – O que não está pronto hoje é perfeitamente possível de ser implementado. ● Grandes empresas investem – Intel, SAP ● Apoio tecnológico – IBM, Oracle, Microsoft PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Conclusão ● Grandes projetos – Wallstreet Online, EA Games, McAfee – Lucent, Nortel, Avaya, Lycos – Wikipedia, Wordpress, Invision ● Leve, Rápido, Robusto e Poderoso ● Precisa mais? PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Dúvidas??? PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • ProPHP ● www.prophp.com.br ● Grupo de Profissionais PHP ● Promove e fortalece iniciativas – Eventos, palestras, atividades, etc... PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Duosys ● www.duosys.com.br ● Desenvolvimento, Análise, Assessoria e Treinamentos ● anderson.casimiro@duosys.com.br PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP
  • Duodraco ● duodraco.com ● PHP e Tecnologia ● Artigos, notícias, tutoriais ● anderson@duodraco.com PHP: Programação Poderosa Anderson Casimiro – Duosys / ProPHP