O PHP é uma linguagem extremamente flexível e permite desenvolver aplicações para os mais variados tipos de problemas dentro do back-end, muito desse poder se deve as extensões do PHP. Nesse artigo vamos ver o que é uma extensão e quais são as mais usadas na linguagem.
Curso PHP - Fundamentos
Conhecer o cursoPorque o conceito de extensão no PHP
O PHP é uma linguagem voltada para desenvolvimento back-end e pode ser usado para diversos tipos de aplicações que rodam no servidor, como, aplicações web, APIs e aplicações console. Essas aplicações podem necessitar de diferentes tipos de recursos. Criar todos esses recursos diretamente dentro da linguagem não é uma boa ideia, pois dependendo do recursos a menor parte das aplicações utilizará.
Muitas linguagens de programação pensam que recursos muito específicos não devem fazer parte do conjunto principal da linguagem, para isso são criadas bibliotecas e frameworks com os recursos mais específicos, mas porque no PHP então temos esse conceito de extensão?
O PHP é uma linguagem interpretada. Seu interpretador é escrito na linguagem C, uma linguagem de mais baixo nível comparado com PHP e também muito mais rápida. As extensões do PHP são escritas na linguagem de programação C, assim é possível obter o máximo de desempenho e estender recursos diretamente do core da linguagem.
O PHP também trabalha com conceito de bibliotecas e frameworks assim como as outras linguagens, mas eles são escritas na própria linguagem de programação PHP.
Como funcionam as extensões no PHP
As extensões do PHP pensando de forma prática, são arquivos gerados a partir da compilação do código desenvolvido em C que se integram a linguagem PHP. Para uma extensão funcionar em nosso ambiente, precisamos colocar o arquivo da extensão dentro da nossa máquina e indicar o caminho no php.ini
.
Podemos ver abaixo a sessão de extensões dinâmicas que vem no arquivo php.ini
do PHP ao instalar a versão 7.4 para Windows:
;extension=bz2
;extension=curl
;extension=ffi
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_sqlsrv
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
Uma vez corretamente indicada a extensão dentro do arquivo de configuração da linguagem, ela fica ativa e nos permite utilizar as funções, classes e métodos que possui.
Um detalhe importante! Muitas extensões são compiladas de forma estática com o próprio PHP e já vêm ativas por padrão quando instalamos, a menos que na hora de compilar o PHP a pessoa tenha selecionado para não utilizá-la, algo que geralmente não acontece com o executável do PHP que baixamos de repositórios oficiais.
Principais extensões do PHP
Existem extensões para vários tipos de recursos, veja abaixo as principais:
- Extensões de banco de dados (mysqli, pgsql, srvsql e outras);
- Extensão PDO para trabalhar com banco de dados e seus drivers;
- BCMath - Funções Matemáticas de Precisão Arbitrária;
- Ctype - Funções para verificação de tipo de caractere;
- Mbstring - Possui recursos para trabalhar com strings em multi byte encoding;
- OpenSSL - Recursos para trabalhar com OpenSSL;
- Intl - Recursos para internacionalização de aplicações.
Na documentação tem a lista completa de extensões do PHP. Ao entrar na documentação de uma extensão específica, a documentação informa se ela é compilada estaticamente e já vem ativa por padrão.
Formação Desenvolvedor PHP
Conhecer a formaçãoExemplo de como instalar uma extensão
O vídeo abaixo mostra como instalar a extensão do xDebug na linguagem de programação:
Caso queira acompanhar também como instalamos o PHP do vídeo acima, ensinamos no post: Como instalar o PHP no Windows.
Considerações finais
As extensões no PHP são extremamente importante! Em muitos casos precisamos ativar as extensões para utilização de frameworks ou bibliotecas específicas, como Laravel e Symfony. Elas também são utilizadas para se conectar aos principais banco de dados do mercado, algo que quase toda aplicação necessita. Além da instalação manual, via arquivo como vimos nesse post, também é possível instalar as extensões de outras formas como Pecl ou um gerenciador de pacotes como APT de sistemas baseados em Debian.