Método static no PHP

Está procurando para que serve o método static na programação orientada a objetos no PHP? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre o que método static.

Quando você define que um método é static, está definindo que ele não precisa de uma instância daquela classe para chamá-lo. Isso pode ser muito útil no caso de classes com muitos métodos para utilidades, como mascara, conversões de datas e tratamento de campos!

Exemplo de static na prática

Construimos uma classe simples chamada “Utils”, com um método static “hello_world”. Esse método é muito simples e apenas irá retornar a string de entrada.

<?php

class Utils 
{
 static function hello_world($string)
 {
 return $string;
 }
}

echo Utils::hello_word('Olá Mundo!');

No exemplo acima, o valor será retornado sem nenhum tipo de aviso. Caso a função hello_world() não seja static, o warning abaixo será dados junto com a formatação do número:

Strict Standards: Non-static method Utils::hello_world() should not be called statically in /Users/.../sample.php on line 4

Qualquer dúvida, deixe um comentário!

PHP strtotime: 2 exemplos de como usar essa função

Está procurando exemplos de como usar a função strtotime no PHP? Essa função pode ser muito útil para formatação e conversão de datas.

Para manipular uma data com strtotime, veja os dois exemplos que preparamos.

Escrevendo a timestamp atual

Para retornar a data atual em formato de timestamp, use a função strtotime conforme abaixo:

echo strtotime("now"); // irá imprimir 1469247024

Escrevendo a data do dia seguinte

Se você precisar retornar a data exata do dia de amanhã, use o exemplo abaixo:

echo date("d/m/Y", strtotime("+1 day")); // irá imprimir 24/07/2016

Qual a diferença entre include, include_once, require e require_once?

Está procurando sobre a diferença entre include, include_once, require e require_once? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre qual é a diferença entre essas funções. Se ao concluir a leitura você ficar com qualquer dúvida, deixe um comentário no final do artigo para ajudarmos.

Qual a função de include, include_once, require e require_once

As funções include, include_once, require e require_once são extremamente importantes no PHP, e talvez sejam umas das mais usadas no desenvolvimento de uma aplicação ou sites com PHP.

Quando é necessário fazer a inclusão de arquivos, seja para montagem de um template ou variáveis de configuração, você deverá usar as funções include, include_once, require e require_once.

E qual é a função de cada uma?

Tá, e como usar cada uma dessas funções no PHP. Isso depende do que você espera, pois a funcionalidade é a mesma, mas o resultado de cada uma pode ser diferente.

  • include: “Include” irá adicionar o arquivo especificado na execução do script, e caso não seja encontrado, irá retornar um erro do tipo “warning” com mensagem de “arquivo não encontrado”.
  • include_once: A mesma função do “include” simples, mas não irá incluir o arquivo novamente, caso já tenha sido adicionado anteriormente na execução.
  • require: Basicamente irá realizar a mesma função que os includes, mas como o próprio nome descreve, o script requer o arquivo para continuar a execução. Sem esse “require”, o script será parado de executar e retornará um “fatal error”, ou seja, irá parar de executar o script.
  • require_once: Mesma funcionalidade do “require”, mas com o “once” junto, só irá incluir o arquivo se não houver uma chamada anterior do mesmo.

Ficou com alguma dúvida das funcionalidades? Deixe um comentário para ajudarmos você!

PHP Cache: Os tipos de cache com PHP

Está procurando sobre como trabalhar com PHP Cache? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre o que os tipos de cache em PHP. Se ao concluir a leitura você ficar com qualquer dúvida, deixe um comentário no final do artigo para ajudarmos você sobre PHP Caching.

PHP Cache

Existem várias maneiras de trabalhar com cache e PHP. O cache é de extrema importância para projetos onde haverá muita concorrência de acessos.

A cada acesso, realizar todas as consultas a arquivos PHP e banco de dados, torna o processo lento, sobrecarrega servidor e deixa o usuário irritado com o serviço do site ou sistema.

Por isso, é importante você aprender a trabalhar com cache em PHP, e assim diminuir custos de servidores. Um dos principais fatores de lojas virtuais perderem vendas hoje, é pela falta de configuração um cache para melhorar o tempo de carregamento das páginas.

O tempo de 1 a 3 segundos a mais no carregamento de uma página de checkout pode fazer com o usuário desista da compra.

Abaixo, listo os principais módulos para cache com PHP e como eles podem ajudar na melhoria de desempenho dos sistemas/sites.

→ Participe de Aulas Grátis de PHP

Memcached

Um dos sistemas de cache mais usados com PHP é o Memcached. A sua principal função é diminuir as conexões com banco de dados, evitando que você realize milhares de consultas repetidas ao banco de dados.

Imagine um site de notícias, ou até mesmo um sistema de cadastros de usuários, onde por minutos o conteúdo não sofre alterações. É desnecessário você consultar milhares de vezes o banco de dados para exibir o mesmo conteúdo.

Para isso, o Memcached irá criar um array associativo gigante, com o resultado da sua primeira requisição. Logo, esses valores ficaram salvos em RAM, e tornaram o acesso aos dados mais rápidos.

Você configura o tempo que os dados ficam salvos na RAM, e quando ela estiver sobrecarregada, os dados mais antigos e não utilizados serão dispensados para o armazenamento de novos.

Pode ter certeza, se você tem um blog WordPress, ou algum sistema que sobrecarrega de conexões o banco de dado MySQL, configurar a aplicação para utilizar o Memcached irá salvar o sistema de quedas constantes do banco de dados.

Flow do Memcached para realizar php cache
Neste Flow, está explicado de forma bem simples, como é o funcionamento do Memcached. Ao receber o “Request”, se não houver nada em “cached”, uma nova consulta ao DB será feita antes de enviar o response.

APC

Outra opção para cache com PHP é o APC, sigla que significa “Alternative PHP Cache“. Assim como o Memcached, o APC tem como sua principal funcionalidade salvar informações em RAM para evitar pesquisas repetidas no Banco de Dados.

A grande diferença do APC, é que ele tem uma funcionalidade a mais, que é compilar o script PHP, assim não é preciso executar o script em todas as requisições. Para entender melhor, é preciso lembrar que o PHP é uma linguagem interpretada e não compilada.

Nesse sentido, a cada requisição que sua aplicação recebe, todo o código é interpretado novamente, do primeiro ao último arquivo necessário para enviar o output para o navegador do usuários.

Com o APC ativo, esses arquivos serão compilados na primeira requisição, e nas sequentes não será necessário interpretar todos os arquivos. Com isso, o response para o navegador do usuários será com uma velocidade muito maior.

PHP Cache com APC e sua dashboard
Com o APC, é possível baixar um script e rodar ele no servidor. Na dashboard poderá controlar o desempenho do cache.

OPCache

O sistema de cache OPcache faz a parte de salvar o script do PHP, compilando as informações e evitando que o código seja interpretado a cada requisição. Ele vem nativo no PHP a partir da versão 5.5, mas é necessário ativar nas configurações.

Para ativar o OPcache, é necessário habilitar o módulo no php.ini.

zend_extension=/full/path/to/opcache.so

Assim como o APC e o Memcache, é possível através de uma dashboard, controlar o funcionamento do OPcache.

Instalação e Configuração

Em breve faço um novo post explicando como instalar e configurar cada um desses caches, além de um benchmark para comparação do resultado.

→ Participe de Aulas Grátis de PHP

Como migrar do PHP 5.6.x para o PHP 7

A nova versão do PHP foi lançada no final de 2015. Agora, vamos ver como será a migração da versão 5.6.x para o mais nova do PHP. Um grande esforço foi realizado pela equipe do PHP para tornar a migração o mais simples possível.

Esta versão se concentra principalmente na remoção de funcionalidades obsoletas em versões anteriores e melhorar a qualidade da linguagem.

Melhorias no PHP 7

O PHP 7 teve seu “core” reconstruítdo. Com esse novo motor, a velocidade de interpretação do código e pode chegar até 9 vezes mais rápida do que nas versões anteriores. Essa velocidade pode variar de acordo com a plataforma e a aplicação.

Antes, para melhor desempenho de servidores PHP, era possível usar o PHP-FPM ou HHVM. Quem sabe logo estaremos usando o PHP Nativo em servidores com grande acessos.

Migrando a versão do PHP

Como falado no inicio do post, muitas funcionalidades que já estavam em deprecated, agora foram removidas completamente do código. Com isso, recomendamos que você acesse a documentação oficial do PHP e estude todas as funcionalidades novas e quais foram completamente removidades.

É importante, antes de migrar o servidor para o PHP 7, lembrar de revisar todo o seu código. Caso você utilize funções antigas, como mysql_* e ereg_*, a aplicação irá parar de funcionar. Uma das grandes novidades do PHP 7, que agora os erros serão exceções e não mais erros fatais. Então, será possível tratar um erro e continuar a interpretação, sem que todo o script pare de rodar.

Acesse agora a documentação oficial e veja as mudanças para migração.