Difference between revisions of "Equipe Precisa Colocar Nome na Equipe?"
Herradriano (Talk | contribs) (→Como surgiu) |
(→Independente de Máquina?) |
||
(48 intermediate revisions by 10 users not shown) | |||
Line 5: | Line 5: | ||
== Introdução == | == Introdução == | ||
+ | |||
+ | PHP significa ''Hypertext Preprocessor'', é uma linguagem do tipo script, que pode ser imbutida ao HTML para gerar páginas mais dinâmicas. As características básicas do PHP são<nowiki>:</nowiki> | ||
+ | *PHP é executado pelo servidor, o usuário não tem acesso ao código PHP. | ||
+ | *PHP é free, pode ser executado em servidores OpenSource como o apache (http://www.apache.org/). | ||
+ | *PHP oferece suporte a diversos banco de dados, potencializando o desenvolvimento de aplicações em PHP. | ||
+ | *PHP é multi-plataforma, roda em qualquer sistema operacional. | ||
== História == | == História == | ||
Line 10: | Line 16: | ||
=== Como surgiu === | === Como surgiu === | ||
− | O ancestral do PHP | + | O ancestral do PHP foi criado em 1995 por Rasmus Lerdorf e era bem mais modesto do que o atual PHP. O objetivo de Rasmus era substituir alguns scripts em Perl usados em sua página, criando ferramentas simples típicas de páginas pessoais, como estatísticas de acesso. |
− | As necessidades | + | As necessidades dele foram crescendo e Rasmus decidiu fazer uma nova implementação em C, com mais recursos, chamado PHP/FI (Personal Home Page / Forms Interpreter). O código foi disponibilizado e alcançou um sucesso considerável em sua segunda versão. |
Em 1997 Andi Gutmans e Zeev Suraski, reescreveram o PHP, para usar em aplicações de comércio eletrônico desenvolvidas na faculdade. Proclamaram o novo código como a vesão 3.0 do PHP. O PHP 3.0 é a primeira versão do atual PHP, que está na versão 5. | Em 1997 Andi Gutmans e Zeev Suraski, reescreveram o PHP, para usar em aplicações de comércio eletrônico desenvolvidas na faculdade. Proclamaram o novo código como a vesão 3.0 do PHP. O PHP 3.0 é a primeira versão do atual PHP, que está na versão 5. | ||
Por ser um código facilmente extensível, com uma quantidade muito grande de recursos, o PHP atraiu a atenção dos desenvolvedores e se tornou um grande sucesso. | Por ser um código facilmente extensível, com uma quantidade muito grande de recursos, o PHP atraiu a atenção dos desenvolvedores e se tornou um grande sucesso. | ||
Line 17: | Line 23: | ||
=== Principais nomes === | === Principais nomes === | ||
− | + | A linguagem PHP foi criada por Rasmus Lerdorf por volta de 1994. Ao finalizar a primeira versão, no início de 1995, Rasmus tornou-a open-source, dessa forma muitas pessoas passaram a contribuir em melhorias. Em seguida, Rasmus acrescentou funções (de acordo com as necessidades das aplicações web da época) ao PHP. | |
+ | Em 1997,Zeev Suraski e Andi Gutmans desenvolveram o analisador do PHP3. O PHP passou a estar sobre a orientação de um grupo. Suraski e Gutmans reescreveram o PHP algum tempo depois, originando o PHP4, agora utilizando tecnologia Zend. | ||
+ | No ano de 2004, foi lançado o PHP5 incorporando o Zend Engine 2.0. As últimas versões do PHP foram desenvolvidas pelo The PHP Group (que é mantido pela Zend Technologies – The PHP Company). | ||
+ | Pagina oficial da Zend Technologies: http://www.zend.com/en/ | ||
=== Versões === | === Versões === | ||
− | + | ||
+ | =====PHP/FI===== | ||
+ | Foi criado em 1995 por Rasmus Lerdorf com a sintaxe baseada em Perl e nomeou os scripts de “Personal Home Page Tools”. | ||
+ | Com a necessidade de mais funcionalidades, ele criou um interpretador de comandos SQL que foi chamado de “Forms Interpreter” e juntou ao PHP, assim criando o PHP/FI. | ||
+ | Com a possibilidade de trabalhar com banco de dados, o PHP/FI passou a ser usado não somente para construir páginas pessoais, como também websites inteiros. | ||
+ | Outra característica do PHP/FI era que os scripts eram colocados diretamente nos arquivos HTML o que aumentou o desempenho dos sites. Sua sintaxe era parecida com Perl mas muito limitada e um pouco inconsistente. Possuía também interpretação automática de variáveis vinda dos formulários. | ||
+ | |||
+ | |||
+ | =====PHP 3===== | ||
+ | Foi totalmente reescrita por Andi Gutmans e Zeev Suraski passando a ter uma sintaxe muito mais consistente. Foi também a primeira versão que se assemelha com o PHP de hoje. | ||
+ | Seu grande atrativo era a grande capacidade de extensibilidade. | ||
+ | Ele oferecia também uma infra-estrutura sólida para vários banco de dados, protolocos e APIs. | ||
+ | Alem disso, no PHP3 foi introduzido o suporte a sintaxe para orientação à objetos. | ||
+ | Tudo isso atraiu milhares de desenvolvedores, o que tornou o PHP um grande sucesso. | ||
+ | |||
+ | |||
+ | =====PHP 4===== | ||
+ | O PHP 4 foi baseado na engine 'Zend’ e trouxe varias características novas. | ||
+ | Dentre elas estão o suporte a muitos servidores Web, sessões http(variável $_SESSION), maneiras seguras de manipular dados (variáveis $_GET , $_POST), buffer de saída e muitas novas construções na linguagem. | ||
+ | O objetivo dessa nova versão era melhorar o desempenho das aplicações complexas e melhorar a modularidade do código base. | ||
+ | |||
+ | |||
+ | =====PHP 5===== | ||
+ | É a atual versão do PHP. | ||
+ | Ele conta com uma nova engine (Zend Engine 2.0) e com isso trouxe um novo modelo de orientação a objetos. | ||
+ | Foram reformulados os contrutores e criaram os destrutores,visibilidade de acesso, abstração de objeto e interfaces de objetos. | ||
== PHP e as aplicações comerciais == | == PHP e as aplicações comerciais == | ||
− | + | O PHP é largamente usado no desenvolvimento de aplicações comerciais, principalmente em sistemas web, de pequeno a grande porte, e frameworks. A lista de sites/aplicações desenvolvidas em PHP é extensa, alguns exemplos são<nowiki>:</nowiki> | |
+ | |||
+ | :* Drupal - http://drupal.org/ (Open Source) | ||
+ | :* Typo3 - http://typo3.com/ (Open Source) | ||
+ | :* ATK framework - http://www.atk-framework.com/ (Open Source) | ||
+ | :* Zend Framework - http://framework.zend.com/ (Open Source) | ||
+ | :* AdMan - http://www.formfields.com/adManArea/adManProduct.php | ||
+ | :* Jointar - http://www.jointar.com/ | ||
+ | |||
+ | |||
+ | Grande parte dos exemplos é OpenSource, com suporte comercial. Este site contém uma imensa lista de aplicações desenvolvidas em PHP http://www.hotscripts.com/PHP/Scripts_and_Programs/index.html. | ||
+ | |||
+ | Alguns exemplos de grandes sites desenvolvidos em PHP é o wikipedia (http://wikipedia.org) e o Yahoo! (http://br.yahoo.com/). | ||
== Como funciona o PHP == | == Como funciona o PHP == | ||
Line 31: | Line 77: | ||
=== Linguagem Interpretada === | === Linguagem Interpretada === | ||
− | + | PHP é uma linguagem de programação desenvolvida para ser interpretada, não havendo necessidade de compilação para qualquer ferramenta extra. | |
+ | Entretanto, recentemente foi lançado um compilador PHP, o Roadsend PHP Compiler. Existem outros, mas o Roadsend é o de maior destaque. | ||
+ | Página oficial do Roadsend PHP Compiler: http://www.roadsend.com/home/index.php?SMC=1 | ||
=== Independente de Máquina? === | === Independente de Máquina? === | ||
− | + | A aplicação web do PHP é multi-plataforma, funcionando na maioria dos sistemas operacionais (Linux, muitas variantes do Unix, Microsoft Windows, Mac OS X, RISC OSe outros), dando liberdade de escolha do sistema operacional e o servidor web. Uma aplicação web feita em PHP roda em qualquer lugar sem acrescentar configurações. Porém, o PHP-GTK, apesar de rodar em vários sistemas operacionais, não é de fato multi-plataforma, sendo necessário algumas linhas de comandos a mais; além disso, sua aplicação deve estar configurada na máquina em que está sendo utilizada. | |
=== Requisitos Mínimos === | === Requisitos Mínimos === | ||
− | + | Os requisitos para se rodar PHP variam de acordo com o que o usuário deseja fazer. Para a criação de websites e aplicações web, necessita-se do próprio PHP, um servidor web e um browser web (cliente web). As aplicações são executadas no browser. Se o usuário deseja fazer uma aplicação desktop (GUI), ele precisará do PHP-GTK. Nesse caso, a saída não é em HTML e sim janelas (que pode ter conectividade com o servidor). Porém o PHP-GTK precisa estar instalado em cada maquia-cliente que utilizará a aplicação. | |
== A linguagem == | == A linguagem == | ||
− | + | ===Sintaxe basica=== | |
+ | O código em PHP começa com a tag ‘<?php’ e termina com ‘?>’ , ou seja, tudo o que estiver fora das tags serão ignorados pelo interpretador PHP. | ||
+ | |||
+ | <?php | ||
+ | echo Código em PHP'; | ||
+ | ?> | ||
+ | |||
+ | |||
+ | ===Variáveis=== | ||
+ | As variáveis em php começam com $ e são declaradas no momento em que é atribuído seu valor (inteiro, string, array, etc.), ou seja, não é necessário indicar o nome e o tipo como em C. | ||
+ | O php é case sensitive. | ||
+ | |||
+ | <?php | ||
+ | $x = 10; | ||
+ | $str = “teste”; | ||
+ | $a[0] = 1; | ||
+ | $a[1] = 2; | ||
+ | ?> | ||
+ | |||
+ | ===Instruções condicionais=== | ||
+ | |||
+ | ====If...else==== | ||
+ | |||
+ | <?php | ||
+ | if (expressão){ | ||
+ | //Entra aqui se a expressão for verdadeira | ||
+ | } | ||
+ | else{ | ||
+ | //Entra aqui se a expressão for falsa | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | ====If...elseif==== | ||
+ | É uma combinação de else e if. | ||
+ | Ex.: | ||
+ | |||
+ | <?php | ||
+ | if ($a > 10) { | ||
+ | echo "a é maior que 10"; | ||
+ | } elseif ($a == 10) { | ||
+ | echo "a é igual a 10"; | ||
+ | } else { | ||
+ | echo "a é menor que 10"; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | |||
+ | ====Switch==== | ||
+ | |||
+ | <?php | ||
+ | switch (variável) { | ||
+ | case valor1: | ||
+ | //Bloco de comandos Comandos... | ||
+ | break; | ||
+ | case valor2: | ||
+ | //Bloco de comandos Comandos... | ||
+ | break; | ||
+ | case valor3: | ||
+ | //Bloco de comandos Comandos... | ||
+ | break; | ||
+ | default: | ||
+ | //Bloco de comandos executado apenas se nenhuma | ||
+ | //das condições anteriores forem aceitas... | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | ===Instruções de repetição=== | ||
+ | |||
+ | ====While==== | ||
+ | |||
+ | <?php | ||
+ | while(condição){ | ||
+ | //comandos | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | Ex.: | ||
+ | |||
+ | <?php | ||
+ | $i = 0; | ||
+ | while ($i <= 10) { | ||
+ | echo $i++; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | ====Do...while==== | ||
+ | |||
+ | <?php | ||
+ | do{ | ||
+ | //comandos | ||
+ | }while(condição); | ||
+ | ?> | ||
+ | |||
+ | Ex.: | ||
+ | |||
+ | <?php | ||
+ | $i = 0; | ||
+ | do { | ||
+ | echo $i; | ||
+ | } while ($i > 0); | ||
+ | ?> | ||
+ | |||
+ | ====For==== | ||
+ | <?php | ||
+ | for (expressao1; expressao2; expressao3){ | ||
+ | //instruções | ||
+ | } | ||
+ | ?> | ||
+ | Assim como em C, cada uma das expressões podem conter varios comandos, sempre separados por virgulas, ou não conter nenhum. | ||
+ | |||
+ | Ex.: | ||
+ | |||
+ | <?php | ||
+ | for ($i = 1; $i <= 10; $i++) { | ||
+ | echo $i; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | <?php | ||
+ | for ($i = 0, $j = 10; $i <= 10; $j >= 0, echo $i, $i++,$j--); | ||
+ | ?> | ||
+ | |||
+ | ====Foreach==== | ||
+ | Maneira simples de manipular e iterar matrizes. | ||
+ | <?php | ||
+ | foreach ( array as $valor){ | ||
+ | //instruções | ||
+ | } | ||
+ | foreach ( array as $chave => $valor){ | ||
+ | //instruções | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | Ex.: | ||
+ | <?php | ||
+ | $vetor = array(1, 2, 3, 4); | ||
+ | foreach ($vetor as &$valor) { | ||
+ | $valor = $valor * 2; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | <?php | ||
+ | $vetor = array("um", "dois", "três"); | ||
+ | foreach ($vetor as $chave => $valor) { | ||
+ | echo "Chave: $chave; Valor: $valor<br />\n"; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | ====Break/Continue==== | ||
+ | Suas funções são similares às de C. | ||
+ | Break e continue aceitam um argumento numérico opcional que diz quantas estruturas devem ser quebradas(break) ou quantos loops devem saltar(continue). | ||
+ | |||
+ | Ex: | ||
+ | <?php | ||
+ | $i = 0; | ||
+ | while (++$i) { | ||
+ | switch ($i) { | ||
+ | case 1: | ||
+ | echo "i=1\n"; | ||
+ | break 1; /* Sai switch. */ | ||
+ | case 10: | ||
+ | echo "i=10\n"; | ||
+ | break 2; /* Sai do switch e while. */ | ||
+ | default: | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | <?php | ||
+ | $i = 0; | ||
+ | while ($i++ < 5) { | ||
+ | while (1) { | ||
+ | while (1) { | ||
+ | continue 3; | ||
+ | } | ||
+ | echo "Nunca passa por aqui."; | ||
+ | } | ||
+ | echo "Nunca passa por aqui."; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | ===Sintaxe alternativa=== | ||
+ | PHP possui uma sintaxe alternativa para algumas estruturas como if, while, for, foreach e switch. | ||
+ | A forma básica é colocar ":" no lugar da chave de abertura "{" e endif,endwhile,endfor, endforeach e endswitch no lugar da chave fechamento "}". | ||
+ | |||
+ | Ex.: | ||
+ | <?php | ||
+ | if ($a == 5): | ||
+ | echo "a igual a 5"; | ||
+ | elseif ($a == 6): | ||
+ | echo "a igual a 6"; | ||
+ | else: | ||
+ | echo "a não é nem 5 nem 6"; | ||
+ | endif; | ||
+ | ?> | ||
+ | |||
+ | ===Funcões=== | ||
+ | |||
+ | <?php | ||
+ | function nome_função ($arg_1, $arg_2, ..., $arg_n) { | ||
+ | //Bloco de comandos... | ||
+ | return $valor_retorno; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | As funções podem ser definidas condicionalmente como no exemplo a seguir: | ||
+ | |||
+ | <?php | ||
+ | $flag = true; | ||
+ | //funcaoX ainda nao existe | ||
+ | if ($flag){ | ||
+ | function funcaoX () | ||
+ | { | ||
+ | //funcaoX passa a existir | ||
+ | ?> | ||
+ | |||
+ | Ou funções dentro de funções: | ||
+ | |||
+ | <?php | ||
+ | function funcaoX(){ | ||
+ | function funcaoY(){ | ||
+ | //funcaoY só existe quando funcaoX é chamada | ||
+ | } | ||
+ | } | ||
+ | funcaoX(); | ||
+ | //agora funcaoY existe e pode ser chamada | ||
+ | funcaoY(); | ||
+ | ?> | ||
+ | |||
+ | ===Classes e Objetos=== | ||
+ | |||
+ | ====Classes==== | ||
+ | |||
+ | Uma classe pode ser definida da seguinte forma: | ||
+ | <?php | ||
+ | class NomeDaClasse{ | ||
+ | //atributos | ||
+ | function Metodo(){ | ||
+ | } | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | Ex.: | ||
+ | <?php | ||
+ | class pessoa{ | ||
+ | var $idade; | ||
+ | function aniversario(){ | ||
+ | $this->idade += 1; | ||
+ | } | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | ====Objetos==== | ||
+ | <?php | ||
+ | $nome_objeto = new NomeDaClasse; | ||
+ | $nome_objeto->Metodo(); | ||
+ | ?> | ||
+ | |||
+ | Ex: | ||
+ | <?php | ||
+ | $joao = new pessoa; | ||
+ | $joao->aniversario(); | ||
+ | ?> | ||
+ | |||
+ | ===Definição de comentários=== | ||
+ | |||
+ | <?php | ||
+ | // Comentario estilo C++ | ||
+ | /* Comentario usando | ||
+ | varias linhas */ | ||
+ | # Comentario estilo shell | ||
+ | ?> | ||
+ | |||
+ | ===Arquivos=== | ||
+ | |||
+ | Aqui estão algumas funções usadas para manipular arquivos em PHP: | ||
+ | fopen("arquivo",modo) -> Abrir um arquivo onde: | ||
+ | arquivo - string contendo o nome do arquivo | ||
+ | modo - especifica o modo de abertura(leitura,escrita,etc...) | ||
+ | A funcao é semelhante a função do C. | ||
+ | |||
+ | Ex.: | ||
+ | <?php | ||
+ | $file = fopen(teste.txt,”r+”); | ||
+ | ?> | ||
+ | |||
+ | fclose("arquivo") -> Fecha o arquivo. | ||
+ | |||
+ | Ex.: | ||
+ | <?php | ||
+ | fclose($file); | ||
+ | ?> | ||
+ | |||
+ | As funções para escrever o arquivo são : | ||
+ | fwrite() | ||
+ | fputs(); | ||
+ | |||
+ | Para ler um arquivo usa-se: | ||
+ | |||
+ | fread() | ||
+ | fgets(); | ||
+ | |||
+ | ===Banco de Dados=== | ||
+ | |||
+ | O PHP tem suporte a varios bancos de dados, por exemplo, MySQL, Firebird/InterBase, PostgreSQL. Para cada banco de dados existe um conjunto de funções especificas de cada um para interagir com o PHP. | ||
+ | Para resolver essa desvantagem, existem varias bibiotecas de abstração de dados tais como: DBX, ADODB, Metabase, PEAR::DB, PEAR::MDB e PHPLIB. | ||
+ | Com essas bibliotecas pode-se mudar o banco de dados sem precisar mudar todo o script. A unica desvantagem é o tempo de acesso ao banco que fica um pouco mais lento. | ||
+ | |||
+ | ===Dispositivos externos=== | ||
+ | |||
+ | ====Impressoras==== | ||
+ | |||
+ | Para o PHP se comunicar com a impressora, usa-se as 'Printer functions'(disponiveis apenas para Windows 9.x, ME, NT4 e 2000). | ||
+ | Para habilitar as funções basta adicionar a linha abaixo no arquivo php.ini: | ||
+ | |||
+ | extension=php_printer.dll | ||
+ | |||
+ | As funções estão documentadas nesse link: http://www.php.net/printer | ||
+ | |||
+ | ===Bibliotecas=== | ||
+ | ====include() e require()==== | ||
+ | O PHP pode incluir arquivos no seu código atual usando os construtores include() e o require(). | ||
+ | Esses arquivos incluídos podem servir como um a biblioteca php. | ||
+ | O include() inclui e executa um trecho opcional de codigo. O require() faz a mesma coisa que o include() mas ocorre um Erro fatal(para a execução) se o arquivo requerido não existir. | ||
+ | Existe ainda o require_once() onde tem a mesma função que o require, porém evita que o arquivo seja incluido novamente. | ||
+ | Ex.: | ||
+ | <?php | ||
+ | include('funcoes.php'); | ||
+ | require('funcoes.php'); | ||
+ | require_once('funcoes.php'); | ||
+ | ?> | ||
+ | |||
+ | ===Integração entre linguagens=== | ||
+ | |||
+ | PHP pode interagir com Java utilizando o Java/Bridge. | ||
+ | O PHP/Java Bridge é um protocolo baseado em XML que pode ser usado para conectar um script PHP com Java. Ele permite que as calsses do Java possam ser acessadas de dentro do PHP e vice-versa. | ||
+ | Mais informações em http://php-java-bridge.sourceforge.net/doc/ | ||
+ | |||
+ | Existe também uma integração entre o PHP e o Flash(action script) onde o flash chama um arquivo php e com isso pode carregar suas variáveis. | ||
+ | Mais informações em http://pt.wikibooks.org/wiki/Aplicativos_em_PHP/Recursos_Extras/Integra%C3%A7%C3%A3o_com_Flash | ||
+ | |||
+ | Para que o PHP integre-se com o .NET é preciso utilizar um compilador PHP para .NET chamado Phalanger, o qual é integrado ao Visual Studio. | ||
+ | Outro jeito mais simples é a utilização de pacotes .NET numa aplicação PHP | ||
+ | Para saber mais sobre o Phalanger acesse http://php-compiler.net/doku.php | ||
+ | |||
+ | |||
+ | Além dessa linguagens, o PHP também interage com javascript onde as 2 linguagens podem trocar funções e variáveis. Para isso basta adicionar o codigo em javascript dentro do php ou criar um novo arquivo e depois adicionar esse arquivo usando um inclide(). | ||
== Ferramentas == | == Ferramentas == | ||
Line 49: | Line 444: | ||
=== Ferramentas de Documentação === | === Ferramentas de Documentação === | ||
− | + | O PHP tem a seu dispor algumas ferramentas para auxiliar o usuário na documentação do código, as principais são<nowiki>:</nowiki> | |
+ | |||
+ | :*phpDocumentor: É a ferramenta opensource padrão de auto-documentação. Também conhecido como phpdoc, é escrito em PHP e similar ao JavaDoc. Capaz de gerar a documentação completa de páginas em PHP. Mais informações no site: http://www.phpdoc.org/. | ||
+ | :*PHPXref - Mais uma ferramenta opensource, gera a documentação no formato HTML. Escrito em Perl. Mais informações: http://phpxref.sourceforge.net/. | ||
+ | :*PHP Documentation Generator - Mais um opensource. Escrito em Perl, similar ao Javadoc. Mais informações: http://freshmeat.net/projects/phpdocgen/. | ||
+ | :*PHP Documentation Tool - Software comercial, desenvolvido pela Winnersh Triangle Web Solutions Limited. Disponível para Trial.Mais informações: http://www.winnershtriangle.com/w/Products.PHPDocumentationTool.asp. | ||
=== IDE's === | === IDE's === | ||
− | + | Por ser uma linguagem muito usada no mundo todo, existem muitos IDE's com suporte a PHP. Um dos principais IDE's para PHP, senão o principal, é o Zend Studio for Eclipse, desenvolvido pela Zend Technologies, a mesma empresa desenvolvedora do PHP. É voltado para Eclipse, dá suporte a PHPDocumentor, SubVersion, Integração com os principais banco de dados, entre outros. Alguns dos principais IDE's e suas características são: | |
+ | |||
+ | :'''Zend Studio for Eclipse''' | ||
+ | ::*Fabricante: Zend Technologies | ||
+ | ::*Site: http://www.zend.com/en/products/studio/ | ||
+ | ::*Preço: $ 350 com um ano de suporte, $ 667 com 3 anos de suporte. | ||
+ | ::*Licensa Propietária | ||
+ | ::*Características: | ||
+ | ::**Suporte a PHP 4 e 5 | ||
+ | ::**Destacador de sintaxe | ||
+ | ::**Suporte a phpDocumentor | ||
+ | ::**Suporte a SubVersion | ||
+ | ::**Suporte aos principais bancos de dados | ||
+ | |||
+ | :'''Komodo IDE''' | ||
+ | ::*Fabricante: ActiveState. | ||
+ | ::*Site: http://www.activestate.com/Products/komodo_ide/index.mhtml | ||
+ | ::*Preço: $295.00 | ||
+ | ::*Licensa Propietária | ||
+ | ::*Características: | ||
+ | ::**Escrito em Python, JavaScript, XUL | ||
+ | ::**Suporta Perl, PHP, Python, Ruby, Tcl, JavaScript, CSS, HTML e XML | ||
+ | ::**Ferramenta Auto-completar | ||
+ | ::**Destacador de sintaxe | ||
+ | ::**Debugger para PHP e as demais linguagens | ||
+ | |||
+ | :'''Adobe Dreamweaver''' | ||
+ | ::*Fabricante: Adobe | ||
+ | ::*Site: http://www.adobe.com/support/dreamweaver/ | ||
+ | ::*Preço: $468.00 | ||
+ | ::*Licensa Propietária | ||
+ | ::*Características: | ||
+ | ::**Destacador de Sintaxe | ||
+ | ::**Autocompleta funções e mostra a documentação destas. | ||
+ | ::**Escrito em C++ | ||
+ | ::**Suporta as principais linguagens voltadas para web | ||
+ | |||
+ | :'''NuSphere PHPEd''' | ||
+ | ::*Fabricante: NuSphere | ||
+ | ::*Site: http://www.nusphere.com/ | ||
+ | ::*Preço: $249.00 | ||
+ | ::*Licensa Propietária | ||
+ | ::*Características | ||
+ | ::**Disponível para Linux | ||
+ | ::**Ferramente de conexão ao banco de dados | ||
+ | ::**Destacador de sintaxe | ||
+ | |||
+ | :'''PHPEdit''' | ||
+ | ::*Fabricante: WaterProof SARL | ||
+ | ::*Site: http://www.phpedit.com | ||
+ | ::*Preço: 89.00 € | ||
+ | ::*Licensa: Proprietária | ||
+ | ::*Características: | ||
+ | ::**Suporta CSS, HTML, JavaScript, INI, PHPEditScript, PHP, PlainText, SQL, XML, and XSLT | ||
+ | ::**Destacador de sintaxe | ||
+ | ::**Ferramente de autocompletar | ||
+ | ::**Escrito em Delphi | ||
+ | ::**Debugger | ||
+ | ::**Gerador de Help | ||
+ | |||
+ | :'''gPHPedit''' | ||
+ | ::*Fabricante: Andy Jeffries | ||
+ | ::*Site: http://www.gphpedit.org/ | ||
+ | ::*Preço: Free | ||
+ | ::*Licensa: Livre | ||
+ | ::*Características: | ||
+ | ::**Roda em qualquer plataforma | ||
+ | ::**Destacador de sintaxe (PHP/HTML, CSS, SQL) | ||
+ | ::**Ferramente de autocompletar | ||
+ | ::**Escrito em C | ||
+ | |||
+ | :'''PHPEclipse''' | ||
+ | ::*Fabricante: Opensource | ||
+ | ::*Site: http://www.phpeclipse.de/ | ||
+ | ::*Preço: Free | ||
+ | ::*Licensa: Livre | ||
+ | ::*Características: | ||
+ | ::**Plugin para Eclipse | ||
+ | ::**Multi-plataforma | ||
+ | ::**Destacador de sintaxe | ||
+ | ::**Auto-completar | ||
+ | ::**Debugger | ||
+ | ::**Escrito em Java | ||
+ | |||
+ | Existem inúmeros IDE's para PHP, as citadas acimas são alguns dos principais exemplos de IDE's livres e comerciais. Uma lista mais completa de IDE's para PHP pode ser encontrada nos sites: | ||
+ | *http://en.wikipedia.org/wiki/PHP_IDE | ||
+ | *http://en.wikipedia.org/wiki/List_of_PHP_editors | ||
== O Que PHP pode fazer == | == O Que PHP pode fazer == | ||
+ | |||
+ | Basicamente com o PHP é possível se fazer qualquer coisa. | ||
=== Aplicações Web === | === Aplicações Web === | ||
− | + | A linguagem PHP basicamente foi desenvolvida para gerar conteúdo dinâmico para a web, dessa forma, é normal que seja essa a principal utilização da linguagem. | |
=== Aplicações Desktop === | === Aplicações Desktop === | ||
− | + | Por ser uma linguagem desenvolvida para aplicações web, o PHP não se destaca em aplicações desktop com interfaces gráficas, sendo necessário um usuário mais experiente para desenvolver este tipo de aplicações, além de utilizar o PHP-GTK, uma extensão do PHP (não disponibilizada na distribuição oficial). | |
+ | Página oficial do PHP-GTK: http://gtk.php.net/ | ||
− | |||
− | |||
== Padrão PHP == | == Padrão PHP == | ||
− | + | A linguagem PHP não possui uma especificação formal de padronização. Por sua sintaxe se aproximar de C/C++, muitas pessoas utilizavam o padrão C++ como padrão para os códigos em PHP. Para resolver problemas comuns e melhorar a eficiência de acesso a alguns tipos de dados foi criada a Biblioteca Padrão de PHP (The Standard PHP Library – SPL), uma coleção de classes e interfaces que é usada como uma forma de “padronização” da linguagem. Porém ela ainda é muito pouco utilizada, um dos principais motivos é o fato de não possui uma documentação oficial. | |
+ | |||
+ | The Standard PHP Library - http://www.php.net/~helly/php/ext/spl/ | ||
+ | |||
+ | == Referências == | ||
+ | |||
+ | *http://en.wikipedia.org/wiki/PHP | ||
+ | *http://www.php.net/ | ||
+ | *http://en.wikipedia.org/wiki/Adobe_Dreamweaver | ||
+ | *http://en.wikipedia.org/wiki/ActiveState_Komodo | ||
+ | *http://en.wikipedia.org/wiki/Zend_Studio | ||
+ | *http://en.wikipedia.org/wiki/GPHPedit | ||
+ | *http://en.wikipedia.org/wiki/PHPEclipse | ||
+ | *http://en.wikipedia.org/wiki/PHPEclipse | ||
+ | *http://blog.carlos-rodrigues.com/2005/05/ide-para-php.html | ||
+ | *http://gtk.php.net/manual1/pt_BR/html/intro.whatis.php.history.html | ||
+ | *http://www.php.net/history | ||
+ | *http://pt.wikibooks.org/wiki/Aplicativos_em_PHP/Introdu%C3%A7%C3%A3o/Hist%C3%B3ria | ||
+ | *http://xoopscube.com.br/php.php | ||
+ | *http://www.moko.ru/doc/php/doc.html#history | ||
+ | *http://br.php.net/manual/pt_BR/language.basic-syntax.php | ||
+ | *http://pt.wikibooks.org/wiki/Aplicativos_em_PHP | ||
+ | *http://www.phpmania.org/modules.php?name=php_how_to&page=language.types.html | ||
+ | *http://fdweb.com.br/acessando-banco-de-dados-usando-php-e-adodb/ | ||
+ | *http://www.prophp.com.br/artigo_13.php | ||
+ | *http://br.php.net/manual/pt_BR/function.include.php | ||
+ | *http://novatec.com.br/livros/phpgtk/capitulo9788575221105.pdf | ||
+ | *http://www.metzen.com.br/blog/2007/10/18/standard_php_library/ | ||
+ | *As demais referências estão citados nos tópicos |
Latest revision as of 21:34, 7 October 2008
PHP
Contents
- 1 Introdução
- 2 História
- 3 PHP e as aplicações comerciais
- 4 Como funciona o PHP
- 5 A linguagem
- 6 Ferramentas
- 7 O Que PHP pode fazer
- 8 Padrão PHP
- 9 Referências
Introdução
PHP significa Hypertext Preprocessor, é uma linguagem do tipo script, que pode ser imbutida ao HTML para gerar páginas mais dinâmicas. As características básicas do PHP são:
- PHP é executado pelo servidor, o usuário não tem acesso ao código PHP.
- PHP é free, pode ser executado em servidores OpenSource como o apache (http://www.apache.org/).
- PHP oferece suporte a diversos banco de dados, potencializando o desenvolvimento de aplicações em PHP.
- PHP é multi-plataforma, roda em qualquer sistema operacional.
História
Como surgiu
O ancestral do PHP foi criado em 1995 por Rasmus Lerdorf e era bem mais modesto do que o atual PHP. O objetivo de Rasmus era substituir alguns scripts em Perl usados em sua página, criando ferramentas simples típicas de páginas pessoais, como estatísticas de acesso. As necessidades dele foram crescendo e Rasmus decidiu fazer uma nova implementação em C, com mais recursos, chamado PHP/FI (Personal Home Page / Forms Interpreter). O código foi disponibilizado e alcançou um sucesso considerável em sua segunda versão. Em 1997 Andi Gutmans e Zeev Suraski, reescreveram o PHP, para usar em aplicações de comércio eletrônico desenvolvidas na faculdade. Proclamaram o novo código como a vesão 3.0 do PHP. O PHP 3.0 é a primeira versão do atual PHP, que está na versão 5. Por ser um código facilmente extensível, com uma quantidade muito grande de recursos, o PHP atraiu a atenção dos desenvolvedores e se tornou um grande sucesso.
Principais nomes
A linguagem PHP foi criada por Rasmus Lerdorf por volta de 1994. Ao finalizar a primeira versão, no início de 1995, Rasmus tornou-a open-source, dessa forma muitas pessoas passaram a contribuir em melhorias. Em seguida, Rasmus acrescentou funções (de acordo com as necessidades das aplicações web da época) ao PHP. Em 1997,Zeev Suraski e Andi Gutmans desenvolveram o analisador do PHP3. O PHP passou a estar sobre a orientação de um grupo. Suraski e Gutmans reescreveram o PHP algum tempo depois, originando o PHP4, agora utilizando tecnologia Zend. No ano de 2004, foi lançado o PHP5 incorporando o Zend Engine 2.0. As últimas versões do PHP foram desenvolvidas pelo The PHP Group (que é mantido pela Zend Technologies – The PHP Company). Pagina oficial da Zend Technologies: http://www.zend.com/en/
Versões
PHP/FI
Foi criado em 1995 por Rasmus Lerdorf com a sintaxe baseada em Perl e nomeou os scripts de “Personal Home Page Tools”. Com a necessidade de mais funcionalidades, ele criou um interpretador de comandos SQL que foi chamado de “Forms Interpreter” e juntou ao PHP, assim criando o PHP/FI. Com a possibilidade de trabalhar com banco de dados, o PHP/FI passou a ser usado não somente para construir páginas pessoais, como também websites inteiros. Outra característica do PHP/FI era que os scripts eram colocados diretamente nos arquivos HTML o que aumentou o desempenho dos sites. Sua sintaxe era parecida com Perl mas muito limitada e um pouco inconsistente. Possuía também interpretação automática de variáveis vinda dos formulários.
PHP 3
Foi totalmente reescrita por Andi Gutmans e Zeev Suraski passando a ter uma sintaxe muito mais consistente. Foi também a primeira versão que se assemelha com o PHP de hoje. Seu grande atrativo era a grande capacidade de extensibilidade. Ele oferecia também uma infra-estrutura sólida para vários banco de dados, protolocos e APIs. Alem disso, no PHP3 foi introduzido o suporte a sintaxe para orientação à objetos. Tudo isso atraiu milhares de desenvolvedores, o que tornou o PHP um grande sucesso.
PHP 4
O PHP 4 foi baseado na engine 'Zend’ e trouxe varias características novas. Dentre elas estão o suporte a muitos servidores Web, sessões http(variável $_SESSION), maneiras seguras de manipular dados (variáveis $_GET , $_POST), buffer de saída e muitas novas construções na linguagem. O objetivo dessa nova versão era melhorar o desempenho das aplicações complexas e melhorar a modularidade do código base.
PHP 5
É a atual versão do PHP. Ele conta com uma nova engine (Zend Engine 2.0) e com isso trouxe um novo modelo de orientação a objetos. Foram reformulados os contrutores e criaram os destrutores,visibilidade de acesso, abstração de objeto e interfaces de objetos.
PHP e as aplicações comerciais
O PHP é largamente usado no desenvolvimento de aplicações comerciais, principalmente em sistemas web, de pequeno a grande porte, e frameworks. A lista de sites/aplicações desenvolvidas em PHP é extensa, alguns exemplos são:
- Drupal - http://drupal.org/ (Open Source)
- Typo3 - http://typo3.com/ (Open Source)
- ATK framework - http://www.atk-framework.com/ (Open Source)
- Zend Framework - http://framework.zend.com/ (Open Source)
- AdMan - http://www.formfields.com/adManArea/adManProduct.php
- Jointar - http://www.jointar.com/
Grande parte dos exemplos é OpenSource, com suporte comercial. Este site contém uma imensa lista de aplicações desenvolvidas em PHP http://www.hotscripts.com/PHP/Scripts_and_Programs/index.html.
Alguns exemplos de grandes sites desenvolvidos em PHP é o wikipedia (http://wikipedia.org) e o Yahoo! (http://br.yahoo.com/).
Como funciona o PHP
Linguagem Interpretada
PHP é uma linguagem de programação desenvolvida para ser interpretada, não havendo necessidade de compilação para qualquer ferramenta extra. Entretanto, recentemente foi lançado um compilador PHP, o Roadsend PHP Compiler. Existem outros, mas o Roadsend é o de maior destaque. Página oficial do Roadsend PHP Compiler: http://www.roadsend.com/home/index.php?SMC=1
Independente de Máquina?
A aplicação web do PHP é multi-plataforma, funcionando na maioria dos sistemas operacionais (Linux, muitas variantes do Unix, Microsoft Windows, Mac OS X, RISC OSe outros), dando liberdade de escolha do sistema operacional e o servidor web. Uma aplicação web feita em PHP roda em qualquer lugar sem acrescentar configurações. Porém, o PHP-GTK, apesar de rodar em vários sistemas operacionais, não é de fato multi-plataforma, sendo necessário algumas linhas de comandos a mais; além disso, sua aplicação deve estar configurada na máquina em que está sendo utilizada.
Requisitos Mínimos
Os requisitos para se rodar PHP variam de acordo com o que o usuário deseja fazer. Para a criação de websites e aplicações web, necessita-se do próprio PHP, um servidor web e um browser web (cliente web). As aplicações são executadas no browser. Se o usuário deseja fazer uma aplicação desktop (GUI), ele precisará do PHP-GTK. Nesse caso, a saída não é em HTML e sim janelas (que pode ter conectividade com o servidor). Porém o PHP-GTK precisa estar instalado em cada maquia-cliente que utilizará a aplicação.
A linguagem
Sintaxe basica
O código em PHP começa com a tag ‘<?php’ e termina com ‘?>’ , ou seja, tudo o que estiver fora das tags serão ignorados pelo interpretador PHP.
<?php echo Código em PHP'; ?>
Variáveis
As variáveis em php começam com $ e são declaradas no momento em que é atribuído seu valor (inteiro, string, array, etc.), ou seja, não é necessário indicar o nome e o tipo como em C. O php é case sensitive.
<?php $x = 10; $str = “teste”; $a[0] = 1; $a[1] = 2; ?>
Instruções condicionais
If...else
<?php if (expressão){ //Entra aqui se a expressão for verdadeira } else{ //Entra aqui se a expressão for falsa } ?>
If...elseif
É uma combinação de else e if. Ex.:
<?php if ($a > 10) { echo "a é maior que 10"; } elseif ($a == 10) { echo "a é igual a 10"; } else { echo "a é menor que 10"; } ?>
Switch
<?php switch (variável) { case valor1: //Bloco de comandos Comandos... break; case valor2: //Bloco de comandos Comandos... break; case valor3: //Bloco de comandos Comandos... break; default: //Bloco de comandos executado apenas se nenhuma //das condições anteriores forem aceitas... } ?>
Instruções de repetição
While
<?php while(condição){ //comandos } ?>
Ex.:
<?php $i = 0; while ($i <= 10) { echo $i++; } ?>
Do...while
<?php do{ //comandos }while(condição); ?>
Ex.:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
For
<?php for (expressao1; expressao2; expressao3){ //instruções } ?>
Assim como em C, cada uma das expressões podem conter varios comandos, sempre separados por virgulas, ou não conter nenhum.
Ex.:
<?php for ($i = 1; $i <= 10; $i++) { echo $i; } ?> <?php for ($i = 0, $j = 10; $i <= 10; $j >= 0, echo $i, $i++,$j--); ?>
Foreach
Maneira simples de manipular e iterar matrizes.
<?php foreach ( array as $valor){ //instruções } foreach ( array as $chave => $valor){ //instruções } ?>
Ex.:
<?php $vetor = array(1, 2, 3, 4); foreach ($vetor as &$valor) { $valor = $valor * 2; } ?>
<?php $vetor = array("um", "dois", "três"); foreach ($vetor as $chave => $valor) { echo "Chave: $chave; Valor: $valor
\n"; } ?>
Break/Continue
Suas funções são similares às de C. Break e continue aceitam um argumento numérico opcional que diz quantas estruturas devem ser quebradas(break) ou quantos loops devem saltar(continue).
Ex:
<?php $i = 0; while (++$i) { switch ($i) { case 1: echo "i=1\n"; break 1; /* Sai switch. */ case 10: echo "i=10\n"; break 2; /* Sai do switch e while. */ default: break; } } ?>
<?php $i = 0; while ($i++ < 5) { while (1) { while (1) { continue 3; } echo "Nunca passa por aqui."; } echo "Nunca passa por aqui."; } ?>
Sintaxe alternativa
PHP possui uma sintaxe alternativa para algumas estruturas como if, while, for, foreach e switch. A forma básica é colocar ":" no lugar da chave de abertura "{" e endif,endwhile,endfor, endforeach e endswitch no lugar da chave fechamento "}".
Ex.:
<?php if ($a == 5): echo "a igual a 5"; elseif ($a == 6): echo "a igual a 6"; else: echo "a não é nem 5 nem 6"; endif; ?>
Funcões
<?php function nome_função ($arg_1, $arg_2, ..., $arg_n) { //Bloco de comandos... return $valor_retorno; } ?>
As funções podem ser definidas condicionalmente como no exemplo a seguir:
<?php $flag = true; //funcaoX ainda nao existe if ($flag){ function funcaoX () { //funcaoX passa a existir ?>
Ou funções dentro de funções:
<?php function funcaoX(){ function funcaoY(){ //funcaoY só existe quando funcaoX é chamada } } funcaoX(); //agora funcaoY existe e pode ser chamada funcaoY(); ?>
Classes e Objetos
Classes
Uma classe pode ser definida da seguinte forma:
<?php class NomeDaClasse{ //atributos function Metodo(){ } } ?>
Ex.:
<?php class pessoa{ var $idade; function aniversario(){ $this->idade += 1; } } ?>
Objetos
<?php $nome_objeto = new NomeDaClasse; $nome_objeto->Metodo(); ?>
Ex:
<?php $joao = new pessoa; $joao->aniversario(); ?>
Definição de comentários
<?php // Comentario estilo C++ /* Comentario usando varias linhas */ # Comentario estilo shell ?>
Arquivos
Aqui estão algumas funções usadas para manipular arquivos em PHP: fopen("arquivo",modo) -> Abrir um arquivo onde: arquivo - string contendo o nome do arquivo modo - especifica o modo de abertura(leitura,escrita,etc...) A funcao é semelhante a função do C.
Ex.:
<?php $file = fopen(teste.txt,”r+”); ?>
fclose("arquivo") -> Fecha o arquivo.
Ex.:
<?php fclose($file); ?>
As funções para escrever o arquivo são :
fwrite() fputs();
Para ler um arquivo usa-se:
fread() fgets();
Banco de Dados
O PHP tem suporte a varios bancos de dados, por exemplo, MySQL, Firebird/InterBase, PostgreSQL. Para cada banco de dados existe um conjunto de funções especificas de cada um para interagir com o PHP. Para resolver essa desvantagem, existem varias bibiotecas de abstração de dados tais como: DBX, ADODB, Metabase, PEAR::DB, PEAR::MDB e PHPLIB. Com essas bibliotecas pode-se mudar o banco de dados sem precisar mudar todo o script. A unica desvantagem é o tempo de acesso ao banco que fica um pouco mais lento.
Dispositivos externos
Impressoras
Para o PHP se comunicar com a impressora, usa-se as 'Printer functions'(disponiveis apenas para Windows 9.x, ME, NT4 e 2000). Para habilitar as funções basta adicionar a linha abaixo no arquivo php.ini:
extension=php_printer.dll
As funções estão documentadas nesse link: http://www.php.net/printer
Bibliotecas
include() e require()
O PHP pode incluir arquivos no seu código atual usando os construtores include() e o require(). Esses arquivos incluídos podem servir como um a biblioteca php. O include() inclui e executa um trecho opcional de codigo. O require() faz a mesma coisa que o include() mas ocorre um Erro fatal(para a execução) se o arquivo requerido não existir. Existe ainda o require_once() onde tem a mesma função que o require, porém evita que o arquivo seja incluido novamente. Ex.:
<?php include('funcoes.php'); require('funcoes.php'); require_once('funcoes.php'); ?>
Integração entre linguagens
PHP pode interagir com Java utilizando o Java/Bridge. O PHP/Java Bridge é um protocolo baseado em XML que pode ser usado para conectar um script PHP com Java. Ele permite que as calsses do Java possam ser acessadas de dentro do PHP e vice-versa. Mais informações em http://php-java-bridge.sourceforge.net/doc/
Existe também uma integração entre o PHP e o Flash(action script) onde o flash chama um arquivo php e com isso pode carregar suas variáveis. Mais informações em http://pt.wikibooks.org/wiki/Aplicativos_em_PHP/Recursos_Extras/Integra%C3%A7%C3%A3o_com_Flash
Para que o PHP integre-se com o .NET é preciso utilizar um compilador PHP para .NET chamado Phalanger, o qual é integrado ao Visual Studio. Outro jeito mais simples é a utilização de pacotes .NET numa aplicação PHP Para saber mais sobre o Phalanger acesse http://php-compiler.net/doku.php
Além dessa linguagens, o PHP também interage com javascript onde as 2 linguagens podem trocar funções e variáveis. Para isso basta adicionar o codigo em javascript dentro do php ou criar um novo arquivo e depois adicionar esse arquivo usando um inclide().
Ferramentas
Ferramentas de Documentação
O PHP tem a seu dispor algumas ferramentas para auxiliar o usuário na documentação do código, as principais são:
- phpDocumentor: É a ferramenta opensource padrão de auto-documentação. Também conhecido como phpdoc, é escrito em PHP e similar ao JavaDoc. Capaz de gerar a documentação completa de páginas em PHP. Mais informações no site: http://www.phpdoc.org/.
- PHPXref - Mais uma ferramenta opensource, gera a documentação no formato HTML. Escrito em Perl. Mais informações: http://phpxref.sourceforge.net/.
- PHP Documentation Generator - Mais um opensource. Escrito em Perl, similar ao Javadoc. Mais informações: http://freshmeat.net/projects/phpdocgen/.
- PHP Documentation Tool - Software comercial, desenvolvido pela Winnersh Triangle Web Solutions Limited. Disponível para Trial.Mais informações: http://www.winnershtriangle.com/w/Products.PHPDocumentationTool.asp.
IDE's
Por ser uma linguagem muito usada no mundo todo, existem muitos IDE's com suporte a PHP. Um dos principais IDE's para PHP, senão o principal, é o Zend Studio for Eclipse, desenvolvido pela Zend Technologies, a mesma empresa desenvolvedora do PHP. É voltado para Eclipse, dá suporte a PHPDocumentor, SubVersion, Integração com os principais banco de dados, entre outros. Alguns dos principais IDE's e suas características são:
- Zend Studio for Eclipse
- Fabricante: Zend Technologies
- Site: http://www.zend.com/en/products/studio/
- Preço: $ 350 com um ano de suporte, $ 667 com 3 anos de suporte.
- Licensa Propietária
- Características:
- Suporte a PHP 4 e 5
- Destacador de sintaxe
- Suporte a phpDocumentor
- Suporte a SubVersion
- Suporte aos principais bancos de dados
- Komodo IDE
- Fabricante: ActiveState.
- Site: http://www.activestate.com/Products/komodo_ide/index.mhtml
- Preço: $295.00
- Licensa Propietária
- Características:
- Escrito em Python, JavaScript, XUL
- Suporta Perl, PHP, Python, Ruby, Tcl, JavaScript, CSS, HTML e XML
- Ferramenta Auto-completar
- Destacador de sintaxe
- Debugger para PHP e as demais linguagens
- Adobe Dreamweaver
- Fabricante: Adobe
- Site: http://www.adobe.com/support/dreamweaver/
- Preço: $468.00
- Licensa Propietária
- Características:
- Destacador de Sintaxe
- Autocompleta funções e mostra a documentação destas.
- Escrito em C++
- Suporta as principais linguagens voltadas para web
- NuSphere PHPEd
- Fabricante: NuSphere
- Site: http://www.nusphere.com/
- Preço: $249.00
- Licensa Propietária
- Características
- Disponível para Linux
- Ferramente de conexão ao banco de dados
- Destacador de sintaxe
- PHPEdit
- Fabricante: WaterProof SARL
- Site: http://www.phpedit.com
- Preço: 89.00 €
- Licensa: Proprietária
- Características:
- Suporta CSS, HTML, JavaScript, INI, PHPEditScript, PHP, PlainText, SQL, XML, and XSLT
- Destacador de sintaxe
- Ferramente de autocompletar
- Escrito em Delphi
- Debugger
- Gerador de Help
- gPHPedit
- Fabricante: Andy Jeffries
- Site: http://www.gphpedit.org/
- Preço: Free
- Licensa: Livre
- Características:
- Roda em qualquer plataforma
- Destacador de sintaxe (PHP/HTML, CSS, SQL)
- Ferramente de autocompletar
- Escrito em C
- PHPEclipse
- Fabricante: Opensource
- Site: http://www.phpeclipse.de/
- Preço: Free
- Licensa: Livre
- Características:
- Plugin para Eclipse
- Multi-plataforma
- Destacador de sintaxe
- Auto-completar
- Debugger
- Escrito em Java
Existem inúmeros IDE's para PHP, as citadas acimas são alguns dos principais exemplos de IDE's livres e comerciais. Uma lista mais completa de IDE's para PHP pode ser encontrada nos sites:
O Que PHP pode fazer
Basicamente com o PHP é possível se fazer qualquer coisa.
Aplicações Web
A linguagem PHP basicamente foi desenvolvida para gerar conteúdo dinâmico para a web, dessa forma, é normal que seja essa a principal utilização da linguagem.
Aplicações Desktop
Por ser uma linguagem desenvolvida para aplicações web, o PHP não se destaca em aplicações desktop com interfaces gráficas, sendo necessário um usuário mais experiente para desenvolver este tipo de aplicações, além de utilizar o PHP-GTK, uma extensão do PHP (não disponibilizada na distribuição oficial). Página oficial do PHP-GTK: http://gtk.php.net/
Padrão PHP
A linguagem PHP não possui uma especificação formal de padronização. Por sua sintaxe se aproximar de C/C++, muitas pessoas utilizavam o padrão C++ como padrão para os códigos em PHP. Para resolver problemas comuns e melhorar a eficiência de acesso a alguns tipos de dados foi criada a Biblioteca Padrão de PHP (The Standard PHP Library – SPL), uma coleção de classes e interfaces que é usada como uma forma de “padronização” da linguagem. Porém ela ainda é muito pouco utilizada, um dos principais motivos é o fato de não possui uma documentação oficial.
The Standard PHP Library - http://www.php.net/~helly/php/ext/spl/
Referências
- http://en.wikipedia.org/wiki/PHP
- http://www.php.net/
- http://en.wikipedia.org/wiki/Adobe_Dreamweaver
- http://en.wikipedia.org/wiki/ActiveState_Komodo
- http://en.wikipedia.org/wiki/Zend_Studio
- http://en.wikipedia.org/wiki/GPHPedit
- http://en.wikipedia.org/wiki/PHPEclipse
- http://en.wikipedia.org/wiki/PHPEclipse
- http://blog.carlos-rodrigues.com/2005/05/ide-para-php.html
- http://gtk.php.net/manual1/pt_BR/html/intro.whatis.php.history.html
- http://www.php.net/history
- http://pt.wikibooks.org/wiki/Aplicativos_em_PHP/Introdu%C3%A7%C3%A3o/Hist%C3%B3ria
- http://xoopscube.com.br/php.php
- http://www.moko.ru/doc/php/doc.html#history
- http://br.php.net/manual/pt_BR/language.basic-syntax.php
- http://pt.wikibooks.org/wiki/Aplicativos_em_PHP
- http://www.phpmania.org/modules.php?name=php_how_to&page=language.types.html
- http://fdweb.com.br/acessando-banco-de-dados-usando-php-e-adodb/
- http://www.prophp.com.br/artigo_13.php
- http://br.php.net/manual/pt_BR/function.include.php
- http://novatec.com.br/livros/phpgtk/capitulo9788575221105.pdf
- http://www.metzen.com.br/blog/2007/10/18/standard_php_library/
- As demais referências estão citados nos tópicos