Sie sind auf Seite 1von 37

Programao Poderosa

PHP

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Contedo

Apresentao Histria Prs e Contras Funcionamento Executando Concluso

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Apresentao

Desenvolvedor Snior PHP 5 anos em desenvolvimento web Palestrante PHP

Conisli, PHP Conference, FADAP (Tup - SP)

Projetos: Sade, RH, Comrcio Atualmente:

Controle de trfego; inteligncia de trnsito

www.duodraco.com
PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Histria

1994 ~ 1996

Rasmus Lerdorf

Engenheiro de Software / Apache Yahoo

Wrapper Perl Personal Home Pages PHP/FI (Form Interpreter)


2 verso Analise de consultas SQL


PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Histria

PHP 3 - 1998

Andi Gutmans / Zeev Suraski

Zend

Core reescrito Abertura para a comunidade Maturidade 1999: +1 milho de dominios usavam PHP

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Histria

PHP 4 2000

Zend Engine

Core do PHP Converte em bytecode, depois executa

CLI Interpretador de Linha de Comando Performance melhorada Sessions Orientao a Objetos

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Histria

PHP 5 2004

Zend Engine 2 POO Aprimorada


Destrutores, interfaces, PPP, etc. Exceptions SimpleXML

Facilidades com XML

SPL Standard PHP Library Performance e segurana aprimorados


PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Histria o futuro

PHP 6 - ????

Suporte a unicode a partir do ncleo Eliminao de diretivas inseguras

register_globals, magic_quotes

PDO conexo padro com BD XMLReader e XMLWriter Namespaces Aprimoramentos

sintaxe, performance e segurana


PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Prs e Contras

Open-source Multi-plataforma Integrvel Leve e rpido Comunidade Extensvel Crescente

Open-source Falta(va)

framework empresas grandes marketing certificao configurao

Segurana

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Prs

~10MB (pacote completo) Baixa carga de servidor Conectividade com BD

Mysql,Oracle,DB2,SQLServer,SQLite,Postgres PHPClasses, frameworks

PECL e PEAR

Sempre atualizado Oracle e IBM


PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Contras

Sem suporte completo para Unicode Tipagem fraca Inconsistncia na nomenclatura Falta de uso de padronizao POO ainda deficiente

Tipagem, sobrecarga, namespace/mdulo

Marketing

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Apndice 1: Porque eu uso?

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

Banco de Dados __________________ Mysql Postgres Oracle SQLServer ...

Servidor Web _______________ Apache IIS Xitami iSeries IBM ...

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Funcionamento

Servidor

Processa a requisio

Acessa BD, XMLs, servios, etc Gera uma sada (HTML, XML, webservice, etc...) Navegador, cosumidor ws, agregador RSS, etc...

Retorna para o cliente

Cliente

Renderiza e processa a resposta XML, xHTML, Javascript, CSS, etc...


PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Tags: <? ?>, <?php ?> Comandos: terminam em ; Blocos: definidos por { } Variveis: $ Constantes: define('Nome',valor) Tipos

String, integer, float, boolean, object, array, null e resource


PHP: Programao 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: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Integers e floats

1234, -123 0123 (octal: 83) 0x1A (hexadecimal: ) 1.234 1.2e3 (notao cientfica: 1200)

PHP: Programao 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: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Boolean

true | false a,321,1, -1,array(1) ,0,array(),null null null uai

Null

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Resource

Tipo para identificar entidades externas

Conexo BD, ponteiro de Arquivos, etc...

Object

Identifica instncias de objetos


PDO, SimpleXMLElement stdClass

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Ol Mundo, hoje 28/09/2007


<? echo Ol&aacute; Mundo, hoje &eacute; ; echo date(d/m/Y); ?>

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Select (html) com os meses do ano


<? $meses = array(0,'Janeiro','Fevereiro', 'Maro','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: Programao Poderosa Anderson Casimiro Duosys / ProPHP

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

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

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>

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

script.php
Array( [var] => 1 ) Array( [var] => 2 [nome] => teste [pref] => Array( [0] => php [1] => outra ) )

echo $var; print_r($_GET); print_r($_POST);

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Conexo com BD MySQL estilo velho

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();

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

Conexo com BD MySQL PDO

$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 />"; }

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

XML: procurando dados


<colecao> <disco id="1"> <banda>Hammerfall</banda> <album>Glory to the Brave</album> </disco> <disco id="2"> <banda>Kamelot</banda> <album>Ghost Opera</album> </disco> <disco id="3"> <banda>Kamelot</banda> <album>Karma</album> </disco> </colecao>
PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Executando

busca.php

$sx = simplexml_load_file('colecao.xml'); $busca = $sx->xpath("//disco[album='Karma']/banda"); print_r($busca);

Array( [0] => SimpleXMLElement Object( [0] => Kamelot ) )

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Apndice 3: XPath

Usado para busca de informao

Atributos e Elemrntos

Padro de sintaxe de busca em XML XQuery e XPointer baseados em XPath Base para o XSLT

PHP suporta XSL

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Concluso

Linguagem madura Comunidade ativa Robusto e repleto de recursos

O que no est pronto hoje perfeitamente possvel de ser implementado. Intel, SAP IBM, Oracle, Microsoft
PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Grandes empresas investem

Apoio tecnolgico

Concluso

Grandes projetos

Wallstreet Online, EA Games, McAfee Lucent, Nortel, Avaya, Lycos Wikipedia, Wordpress, Invision

Leve, Rpido, Robusto e Poderoso Precisa mais?

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Dvidas???

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

ProPHP

www.prophp.com.br Grupo de Profissionais PHP Promove e fortalece iniciativas

Eventos, palestras, atividades, etc...

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Duosys

www.duosys.com.br Desenvolvimento, Anlise, Assessoria e Treinamentos anderson.casimiro@duosys.com.br

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Duodraco

duodraco.com PHP e Tecnologia Artigos, notcias, tutoriais anderson@duodraco.com

PHP: Programao Poderosa Anderson Casimiro Duosys / ProPHP

Das könnte Ihnen auch gefallen