Beruflich Dokumente
Kultur Dokumente
PHP
Contedo
Apresentao
www.duodraco.com
PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP
Histria
1994 ~ 1996
Rasmus Lerdorf
Histria
PHP 3 - 1998
Zend
Core reescrito Abertura para a comunidade Maturidade 1999: +1 milho de dominios usavam PHP
Histria
PHP 4 2000
Zend Engine
Histria
PHP 5 2004
Histria o futuro
PHP 6 - ????
register_globals, magic_quotes
Prs e Contras
Open-source Falta(va)
Segurana
Prs
PECL e PEAR
Contras
Sem suporte completo para Unicode Tipagem fraca Inconsistncia na nomenclatura Falta de uso de padronizao POO ainda deficiente
Marketing
Curva de aprendizagem Constante evoluo Custo muito baixo / Resultados excelentes Extenses, bibliotecas, comunidade IDEs e ferramentas O futuro dos sistemas a web; PHP foi feito para a web, diferente de outras linguagens e plataformas
PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP
Funcionamento
Cliente Requisio
Resposta
Funcionamento
Servidor
Processa a requisio
Acessa BD, XMLs, servios, etc Gera uma sada (HTML, XML, webservice, etc...) Navegador, cosumidor ws, agregador RSS, etc...
Cliente
Executando
Tags: <? ?>, <?php ?> Comandos: terminam em ; Blocos: definidos por { } Variveis: $ Constantes: define('Nome',valor) Tipos
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
Executando
Integers e floats
1234, -123 0123 (octal: 83) 0x1A (hexadecimal: ) 1.234 1.2e3 (notao cientfica: 1200)
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'
Executando
Boolean
Null
Executando
Resource
Object
Executando
Executando
Executando
Sequncia 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: Programao Poderosa Anderson Casimiro Duosys / ProPHP
Apndice 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
Executando
Formulrios HTML
<form action="script.php?var=1" method="post"> <input type="hidden" name="var" value="2" /> Nome: <input type="text" name="nome" id="nome" /><br /> Preferencias: <br /> <input type="checkbox" name="pref[]" value="php" /> PHP<br /> <input type="checkbox" name="pref[]" value="outra" /> Outras<br /> <button type="submit">Vai!!!</button> </form>
Executando
script.php
Array( [var] => 1 ) Array( [var] => 2 [nome] => teste [pref] => Array( [0] => php [1] => outra ) )
Executando
mysql_connect('host','usuario','5 3 N h 4'); mysql_select_db('schema'); $qry = mysql_query("SELECT nome,idade FROM usuarios"); while($rs = mysql_fetch_array($qry)){ echo " - {$rs['nome']} ({$rs['idade']})<br />"; } mysql_close();
Executando
$db = new PDO('mysql:host=servidor;dbname=schema', 'usuario','5 3 N H 4'); foreach ($dbh->query("SELECT nome,idade FROM usuarios") as $rs){ echo " - {$rs['nome']} ({$rs['idade']})<br />"; }
Executando
Executando
busca.php
Apndice 3: XPath
Atributos e Elemrntos
Padro de sintaxe de busca em XML XQuery e XPointer baseados em XPath Base para o XSLT
Concluso
O que no est pronto hoje perfeitamente possvel de ser implementado. Intel, SAP IBM, Oracle, Microsoft
PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP
Apoio tecnolgico
Concluso
Grandes projetos
Wallstreet Online, EA Games, McAfee Lucent, Nortel, Avaya, Lycos Wikipedia, Wordpress, Invision
Dvidas???
ProPHP
Duosys
Duodraco