PHP

App Engine coloca PHP como recurso preview limitado

PHP é a mais recente adição à gama de linguagens suportadas pelo App Engine do Google. A PaaS(Platform as a Service) já suporta PythonJava e Go e, como as linguagens antes dele, o PHP está sendo introduzido primeiramente como um recurso preview limitado.

A implementação do PHP no App Engine atualmente roda aplicativos PHP usando PHP 5.4 em um ambiente com sandbox, o que previne a escrita no sistema de arquivos, a abertura de sockets, o acesso ahosts diretamente ou realizar chamadas de sistema. (mais…)

mar
23

Os desenvolvedores do PHP liberaram o primeiro beta da versão 5.5 da linguagem. Isso significa que mais nenhum recurso será adicionado à próxima versão do PHP. Entre os principais recursos que foram adicionados estão a função array_column(), que simplifica a extração de colunas de arrays multidimensionais, a integração com Zend Optimizer+, o suporte para valores não scalar em chaves de iteratores para laços foreach e a opção de modificação do título de processos em modo CLI/CLI server SAPIs. Todos os novos recursos podem ser vistos neste link.

Apenas recentemente que os desenvolvedores resolveram incluir o Zend Optimizer+. Ele melhora o desempenho do bytecode que é gerado pelo interpretador a partir do código PHP e que permite o carregamento de aplicações PHP. Dessa forma, a tecnologia ajuda a melhorar a velocidade de programar em PHP. Com essa adição, o componente foi renomeado para “opcache”. Outras tecnologias opcache, como o PHP Cache (APC), que costumavam ser a tecnologia padrão nessa área, deverão ficar para trás.

Os desenvolvedores planejam lançar um segundo beta no dia 4 de abril.

Fonte: Feed Carreira – Primeiro beta do PHP 5.5 é liberado com novo acelerador

jan
08
Posted by Redação TargetTrust at 9:18 pm

O PHP oferece várias extensões para analisar documentos XML, mas você ainda tem que escrever um monte de códigos personalizados para validar e extrair dados da XML analisada.

Leia este artigo para aprender como usar essa classe parser XML para validar e extrair os dados de análise de documentos XML com uma quantidade mínima de código que requer apenas uma única chamada para a classe. Nessa primeira parte do artigo, vamos ver os tópicos: “XML é chato, mas ainda precisamos lidar com ela”, “Suporte a XML PHP” e “Solução da classe XML Parser para validar e extrair dados em uma única chamada”. Na segunda parte veremos a  “Implementação de regras de validação personalizadas” e a “Conclusão”. (mais…)

dez
27

Em outros artigos já deixei claro que não sou nenhum fascinado por Java, pois não acho que ele seja a solução para todos os nossos problemas. Acredito na questão da abordagem correta para seu problema. Sabemos que, tradicionalmente, o Java é escolha para desenvolvimento de grandes empresas, e o PHP é utilizado por pessoas que
desenvolvem seus próprios sites, ambos possuem suas exceções.

Apesar de trabalhar com desenvolvimento Java, participei de alguns processos de desenvolvimentos utilizando PHP, mais especificamente o CodeIgniter como framework. Com isso, pude observar que o desenvolvimento é bem rápido e que a linguagem é bem produtiva, mas achei bem parecido com o desenvolvimento utilizando JSP com Servlets e Scriptlets. Não entrarei neste nível de detalhamento, pois o intuito deste artigo é auxiliar na escolha de qual melhor solução dependendo de sua situação. (mais…)

A plataforma PaaS OpenShift da Red Hat foi estendida para suportar a linguagem PHP. Isso foi possível graças a uma parceira com a Zend Technologies, um provedor de software e serviços que tem se envolvido intensamente do desenvolvimento do PHP. Através da colaboração, a Zend construiu uma versão especial de seu produto Zend Server para se integrar ao OpenShift.

OpenShift

Zend Server for Red Hat OpenShift foi feito para oferecer aos desenvolvedores que usam OpenShift um servidor de aplicação para executar e gerenciar aplicativos em PHP. O servidor também fornece opções extras de depuração e capacidades de monitoramento, assim como suporte para tarefas PHP sendo executadas em paralelo para melhorar o desempenho. Por sua vez, o OpenShift, agora foi integrado à IDE Zend Studio, permitindo que equipes de desenvolvimento distribuídas colaborem com o desenvolvimento de aplicativos.

Um preview para desenvolvedores do OpenShift com funcionalidades limitadas está disponível gratuitamente. Uma versão comercial também foi disponibilizada, e ela oferece melhorias de capacidade, funcionalidade e suporte. (mais…)

set
20
Posted by Redação TargetTrust at 2:43 pm

O desenvolvedor Sebastian Bergmann lançou novas versões de seu PHPUnit e ferramentas relacionadas a ele. O framework open source de teste para PHP foi atualizado para a versão 3.7.0, enquanto os componentes PHP_CodeCoverage, PHPUnit_MockObject e DbUnit foram disponibilizados com a versão 1.2.0.

A nova versão do PHPUnit inclui relatórios redesenhados para cobertura de código e os testes incompletos ou ignorados agora vão mostrar mensagens e stack traces em formato JSON. Além disso, vários bugs foram corrigidos.

O PHPUnit 3.7 requer PHP 5.3.3, 5.4.7 ou posterior, e uma lista detalhada de todas as melhorias está disponível no change log. As versões 1.2.0 dos outros componentes também receberam várias melhorias e correções de bugs, cujos detalhes estão disponíveis nos change logs individuais para os projetos PHP_CodeCoveragePHPUnit_MockObjectDbUnit.

O código fonte está disponível a partir da página de Bergmann no GitHub. (mais…)

set
13
Posted by Redação TargetTrust at 3:10 pm

A versão 5.5 do PHP virá com uma API voltada para permitir que administradores e desenvolvedores armazenem senhas de forma segura. Com a ajuda dela, os desenvolvedores serão capazes de usar apenas uma linha de código para gerar um hash com salt de uma senha usando bcrypt, aumentando a segurança.

$hash = password_hash($password, PASSWORD_DEFAULT);

Um salt não é necessário; ele será autogerado pela API caso não esteja presente e adicionado com um componente aleatório da senha. A verificação da senha é igualmente fácil:
password_verify($password, $hash);
Caso os hashes gerados caiam em mãos erradas, os criminosos são conseguirão reconstruir o texto correspondente das senhas sem um esforço considerável, já que as senhas originais são bastante longas. O método hash Bcrypt é um dos que são mais intensivos computacionalmente e requerem muita memória, tornando difícil quebrá-lo mesmo com GPUs. Um sistema com oito núcleos de CPU pode gerar cerca de cinco mil hashes por segundo, e um GPU atual pode entregar resultados semelhantes. Em comparação, fazer hashes com SHA1 deve gerar números na ordem de dezenas de milhões.

Com os salts, o uso de rainbow tables também é limitado. Caso os usuários queiram, podem não apenas especificar seu próprio salt na chamada a função hash, mas também ajudar a complexidade (custo) do método bcrypt, ou mudar o método de hash completamente. Essa informação é armazenada com o hash da senha. (mais…)

set
12

Discursos sobre PHP estão por toda parte, e eles vêm até mesmo de caras inteligentes. Quando Jeff Atwood escreveu outro sobre o PHP, isso me fez pensar sobre as partes boas dessa linguagem.

Curso de PHP em Porto Alegre

O maior problema desses discursos é que eles vêm de pessoas presas no passado do PHP. Ou eles não se importam ou não querem admitir que o PHP realmente evoluiu em um ritmo muito rápido, tanto no nível da linguagem, como no nível da comunidade. Na verdade, ele evolui muito mais rápido do que qualquer outra linguagem ou plataforma web. Nem sempre tem sido o caso, mas os últimos 5 anos têm sido uma jornada incrível para o PHP. (mais…)

Promoção de Aniversário

Calendário Calendário

Ferramentas para Automação de Teste de Software / Duração: 20h

30 de julho a 03 de agosto / Noite: 18:45 às 22:45 / Local: TargetTrust Confirmada
27 de agosto a 31 de agosto / Manhã: 8:00 às 12:00 / Local: TargetTrust
30 de outubro a 06 de novembro / Noite: 18:45 às 22:45 / Local: TargetTrust
08 de dezembro a 22 de dezembro / Sábado Integral: 8:30 às 12:30 e 13:30 às 17:30 / Local: TargetTrust
17 de dezembro a 21 de dezembro / Noite: 18:45 às 22:45 / Local: TargetTrust

Oracle 11g: Administração do Banco de Dados II / Duração: 30h

31 de julho a 09 de agosto / Noite: 18:45 às 22:45 / Local: TargetTrust Confirmada
03 de setembro a 13 de setembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
18 de setembro a 28 de setembro / Noite: 18:45 às 22:45 / Local: TargetTrust
06 de outubro a 10 de novembro / Sábado Integral: 8:30 às 12:30 e 13:30 às 17:30 / Local: TargetTrust Confirmada
30 de outubro a 09 de novembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
13 de novembro a 23 de novembro / Noite: 18:45 às 22:45 / Local: TargetTrust

Orientação a Objetos com UML / Duração: 20h

01 de agosto a 07 de agosto / Manhã: 8:00 às 12:00 / Local: TargetTrust
04 de agosto a 18 de agosto / Sábado Integral: 8:30 às 12:30 e 13:30 às 17:30 / Local: TargetTrust Confirmada
06 de agosto a 10 de agosto / Noite: 18:45 às 22:45 / Local: TargetTrust Confirmada
03 de setembro a 10 de setembro / Noite: 18:45 às 22:45 / Local: TargetTrust
01 de outubro a 05 de outubro / Manhã: 8:00 às 12:00 / Local: TargetTrust
01 de outubro a 05 de outubro / Noite: 18:45 às 22:45 / Local: TargetTrust
05 de novembro a 09 de novembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
05 de novembro a 09 de novembro / Noite: 18:45 às 22:45 / Local: TargetTrust
03 de dezembro a 07 de dezembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
03 de dezembro a 07 de dezembro / Noite: 18:45 às 22:45 / Local: TargetTrust

(mais…)

O que é code refactoring?

Refatorar é mudar o código que está feito sem mudar o comportamento. Idealmente, devemos melhorá-lo; porém se fizermos algo errado, ainda sim podemos dizer que fizemos uma refatoração. Obviamente, estamos simplificando ao máximo.

Refactoring

Dicas

  • DICA 1: Adicione FIXME e TODOS no seu código;
  • DICA 2: Sempre que possível reserve um tempo para melhorar o seu código;
  • DICA 3: Extraia métodos para que eles fiquem simples e independentes. Evite a complexidade e DRY (Don’t Repeat Yourself);
  • DICA 4: Nomeie corretamente as variáveis. EVITE coisas como $nCli, $imgW, etc.. Hoje você sabe o significado mas e daqui a dois meses? Prefira variáveis como $nome_cliente, $image_width, nomes mais legíveis;
  • DICA 5: Procure sempre otimizar o código para que ele tenha uma performance melhor;
  • DICA 6: A cada mudança no código, rode os testes para garantir que tudo esteja funcionando. ALWAYS GREEN; (mais…)