Diferença chave: PHP uma linguagem de script do lado do servidor que tem sua implementação principal no desenvolvimento web. No entanto, ele pode ser usado como uma linguagem de programação de propósito geral. PHP4 e PHP5 são duas versões do PHP. O PHP4 foi lançado em 22 de maio de 2000. Em 13 de julho de 2004, o PHP5 foi lançado. Foi alimentado pelo Zend Engine II. Foi uma melhoria em relação ao PHP4 e incluiu vários novos recursos.
O PHP é uma linguagem de script embutida em HTML, de código aberto, do lado do servidor. Ele pode basicamente executar qualquer tarefa que outros programas CGI possam, mas é usado principalmente para criar páginas da Web dinâmicas. Sua principal vantagem é que é compatível com muitos tipos de bancos de dados. Além disso, o PHP pode falar através de redes usando IMAP, SNMP, NNTP, POP3 ou HTTP.
O PHP inclui um recurso de interface de linha de comando e pode ser usado em aplicativos gráficos independentes. Os comandos PHP podem ser incorporados diretamente em um documento de origem HTML, em vez de chamar um arquivo externo para processar dados. No documento HTML, o script PHP é colocado dentro de tags PHP especiais. Devido a essas tags, o programador pode alternar entre HTML e PHP em vez de depender de grandes quantidades de código para gerar HTML. Além disso, como o PHP é executado no servidor, o cliente não pode visualizar o código PHP.
Em 13 de julho de 2004, o PHP5 foi lançado. Foi alimentado pelo Zend Engine II. Foi uma melhoria em relação ao PHP4 e incluiu vários novos recursos, como suporte aprimorado para programação orientada a objetos, a extensão PHP Data Objects (PDO) e vários aprimoramentos de desempenho. A extensão PDO define uma interface leve e consistente para acessar bancos de dados. Ligação estática atrasada foi adicionada na versão 5.3. O PHP5 também foi projetado para ser compatível com versões anteriores do PHP e, portanto, deve resultar em pouca funcionalidade sendo quebrada durante a conversão do PHP4 para o PHP5.
Algumas diferenças entre PHP4 e PHP5:
- O PHP5 removeu register_globals, aspas mágicas e modo de segurança. Isso se deve ao fato de que register_globals abriram brechas de segurança ao permitir intencionalmente a injeção de dados em tempo de execução e o uso de citações mágicas tinha uma natureza imprevisível.
- O PHP4 foi desenvolvido pelo Zend Engine 1.0, enquanto o PHP5 foi desenvolvido pelo Zend Engine II.
- O PHP5 substituiu as aspas mágicas pela função addslashes () para escapar de caracteres.
- O PHP4 é mais uma linguagem de procedimentos, enquanto o PHP5 é orientado a objetos.
- No PHP5 pode-se declarar uma classe como Abstract.
- O PHP5 incorpora métodos e propriedades estáticos.
- PHP5 introduz uma função especial chamada __autoload ()
- PHP5 permite declarar uma classe ou método como Final
- O PHP5 introduz vários métodos mágicos, como __call, __get, __set e __toString
- No PHP5, existem 3 níveis de visibilidade: públicos, privados e protegidos.
- O PHP5 introduziu exceções.
- No PHP4, tudo foi passado por valor, incluindo objetos. Enquanto no PHP5, todos os objetos são passados por referência.
- O PHP5 introduz interfaces. Todos os métodos definidos em uma interface devem ser públicos.
- PHP5 introduz novo nível de erro definido como 'E_STRICT'
- O PHP5 introduz novas extensões padrão, como SimpleXML, DOM e XSL, PDO e Hash.
- O PHP5 introduz novas funções.
- O PHP5 introduz algumas novas palavras-chave reservadas.
- O PHP5 inclui conceitos OOP adicionais que o php4, como especificadores de acesso, herança etc.
- O PHP5 inclui suporte aprimorado de sistemas atuais de gerenciamento de conteúdo.
- PHP5 inclui consumo reduzido de RAM.
- O PHP5 introduz maior segurança contra a exploração de vulnerabilidades em scripts PHP.
- O PHP5 introduz programação mais fácil através de novas funções e extensões.
- O PHP5 introduz uma nova extensão do MySQL chamada MySQLi para desenvolvedores usando o MySQL 4.1 e posterior.
- No PHP5, o SQLite foi empacotado com o PHP.
- O PHP5 introduz uma nova extensão SOAP incorporada para interoperabilidade com os Web Services.
- O PHP5 introduz uma nova extensão SimpleXML para acessar e manipular facilmente XML como objetos PHP. Também pode interagir com a extensão DOM e vice-versa.
- No PHP5, os fluxos foram melhorados, incluindo a capacidade de acessar operações de soquete de baixo nível nos fluxos.