Como atualizar o PHP no macOS?

Se tu usas Mac para desenvolver teus sítios WordPress, deves ter notado que felizmente o macOS já vem com o PHP instalado. A questão é que nem sempre a versão instalada é a mais nova, principalmente se estás rodando uma versão antiga do macOS, como eu, que uso o El Capitan no meu Mac Pro 2009.

Ter a última versão PHP é um pré-requisito para poderes desenvolver teus projetos e uma versão antiga pode ficar atrapalhando tua vida, principalmente se queres usar ferramentas auxiliares como a extensão PHP Intellisense dentro do VSCode.

O macOS Catalina já vem com a versão 7.3 do PHP, e o Mojave e o High Sierra até vêm com o PHP 7.1 pré-instalado, mas a versão instalada no macOS Sierra é a 5.6 e o El Capitan vem com o PHP 5.5. Péssimo.

Felizmente o pessoal do grupo php-osx mantém pacotes dos últimos “builds” das versões do PHP desde a 5.3 até 7.3, que podem ser instalados desde o Snow Leopard (OS X 10.6) até o High Sierra (macOS 10.13). Como os programas são instalados na pasta /usr/local/php5, eles não afetam em nada tua instalação padrão do macOS.

Instalando o PHP no macOS

Mais fácil que correr cancha com tropeiro de lesma. Escolhe a versão, abre o Terminal e digita a linha correspondente, abaixo:

PHP 7.3

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3

PHP 7.2

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.2

PHP 7.1

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

PHP 5.6

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

Infelizmente o pessoal do php-osx não montou um pacote para a versão 7.4 e ainda não descobri uma maneira mais fácil de instalar esta versão sem ter que instalar utilitários extras, como o Homebrew. Quando descobrir, atualizo o artigo.

Verificando se a nova versão do PHP está funcionando

Agora que tudo está instalado, precisamos adicionar a pasta do pacote ao PATH do sistema:

$ export PATH=/usr/local/php5/bin:$PATH  

Depois, é só verificar se a nova versão é a padrão:

Mac-Pro:~ marcoandrei$ php -v

PHP 7.3.8 (cli) (built: Aug 11 2019 20:50:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.8, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.8, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans

Feito!

“Tá, mas o VS Code continua dando erro…”

Pois é, em alguns casos, quando o VS Code continua dando erro, é porque a extensão PHP Intellisense não identificou corretamente a versão do PHP, mesmo que o sistema aponte a versão nova. A solução é preencher o parâmetro “executablePath” nas configurações da extensão.

Dentro do VS Code, vai em Extensions e encontra a extensão “PHP Intellisense”. Clica na engrenagem e seleciona Extension Settings. Adiciona (ou edita) esta linha no arquivo settings.json:

"php.executablePath": "/usr/local/php5/bin/php"

Agora sim!

Bueno, este tutorial te ajudou? Tens alguma dúvida? Deixa teu comentário aí embaixo e a gente troca uma ideia!

Um bate-papo com Katharina Farina do WordPress Sem Código

No final de julho de 2020, tive o prazer de conversar com a simpática Katharina Farina, produtora do canal WordPress sem Código, quando falamos um pouco da minha experiência com o WordPress, opiniões “polêmicas” sobre construir sítios usando page builders e o desejo de criar uma comunidade internacional de WordPress em língua portuguesa.

Confere aí embaixo este bate-papo e depois segue o WordPress sem Código no YouTube!

10 coisas que deves fazer após criar teu blog WordPress

Este vídeo está chegando ao meu blogue com um atraso de 2 anos — foi apresentada no WordCamp Porto Alegre 2018 — mas é um assunto que sempre gostei de falar, porque muitas vezes esquecemos de coisas básicas, como mudar a descrição do nosso próprio sítio e deixamos aquele padrão “só mais um blog WordPress”.

Nessa palestra, eu sugeri 10 ações “obrigatórias” que formam uma configuração básica para servir de ponto-de-partida de um blogue WordPress. Esta configuração leva em conta aspectos de apresentação, conteúdo, SEO, segurança e desempenho. A apresentação tem foco no público iniciante, mas pode despertar interesse aos já introduzidos ao mundo WordPress.

O arquivo da apresentação está disponível para baixar aqui: http://bit.ly/wcpoa2018-palestra06.

PS: Lá pelos 16 minutos o operador de som cansou das minhas piadas sem graça e cortou meu microfone, mas voltou pelo minuto 17.

Como fazer a busca do WordPress retornar somente posts do blog

Por padrão, a pesquisa do WordPress retorna em seus resultados todas as páginas e postagens que contém a expressão solicitada pelo usuário. Em geral este ajuste é o mais adequado para a maioria das vezes, mas há situações que seria desejável exibir apenas as páginas ou os posts do blog nos resultados da busca.

Para isso, basta usar o filtro pre_get_posts por meio de uma pequena função no arquivo functions.php do teu tema ou em um plug-in específico. Vamos ver como fazer.

Mostrar só os posts

Para mostrar só os posts, a função define que o tipo de post (post type) a ser buscado pela consulta principal é “post”.

/* Se não é o painel administrativo, segue */
if (!is_admin()) { 
  function buscar_somente_posts($query) {
    /* Se a consulta é uma busca, então */
    if ($query->is_search) { 
      /* Limita o "post_type" a posts */
      $query->set('post_type', 'post'); 
    }
  return $query;
  }
  /* Adiciona a função ao filtro pre_get_posts */
  add_filter('pre_get_posts','buscar_somente_posts'); 
}

Mostrar só as páginas

O código é o mesmo, só trocamos o post_type para “page”.

/* Se não é o painel administrativo, segue */
if (!is_admin()) { 
  function buscar_somente_paginas($query) {
    /* Se a consulta é uma busca, então */
    if ($query->is_search) { 
      /* Limita o "post_type" a páginas */
      $query->set('post_type', 'page'); 
    }
  return $query;
  }
  /* Adiciona a função ao filtro pre_get_posts */
  add_filter('pre_get_posts','buscar_somente_paginas'); 
}

E outros tipos?

Bem, se tu prestaste atenção, te deste conta que é só trocar o post_type na consulta para filtrar por qualquer tipo personalizado de post que se queira, como por exemplo, “produtos”, “pessoas”, “endereços” e qualquer outro.

Conseguiste fazer o filtro que precisavas? Faz teu comentário e diz como foi tua experiência. Queres que eu escreva um artigo mais completo sobre isso? Deixa tua sugestão!