Entendendo a estrutura zval e vetores - Desenvolvendo Extensões PHP Parte 06
No post anterior trabalhamos com parâmetros e retornos de uma extensão PHP, porem faltou falar um pouco sobre um recurso poderoso do PHP, que são os vetores. Trabalhar com vetores em C na mesma maneira que PHP pode ser algo extremamente complexo, pois temos índices numéricos e literais, de tipos diferentes no mesmo vetor, e graças a API Zend, isso se torna um trabalho tranquilo.
Argumentos e retornos de funções - Desenvolvendo Extensões PHP Parte 05
No ultimo post eu escrevi sobre como criar funções na sua extensão PHP. Mas o que é uma função se ela não recebe e não retorna um valor? Então nesse post vou falar sobre como definir os parâmetros com ZEND_ARG_INFO, dar o parse nesses parâmetros, e retornar valores.
Criando funções na sua extensão PHP - Parte 04
Disponibilizar novas funções e classes para o usuário no phpland é a principal função de uma nova extensão. Adicionar essas novas funções ao core do PHP seria um trabalho gigantesco e complexo. Mesmo criando módulos, sem o Zend Engine, esse trabalho ainda seria complexo. Nesse post quero mostrar a parte divertida da coisa, e começar a fazer as coisas funcionarem, além de mostrar, o quão simples é criar uma nova função no PHP.
No post anterior, eu expliquei a estrutura de carregamento de uma extensão, e o principal meio de configura-la, usando zend_module_entry.
Nesse post eu iria começar falando sobre funções e como registra-las, mas achei muito importante falar sobre o ciclo de vida de uma extensão. Eu não ia detalhar tanto assim, por que sempre desenvolvo minhas extensões para CLI, mas já que estou escrevendo, é certo que nem todos farão com o mesmo propósito.
Entendendo a estrutura de uma extensão PHP - Parte 02
Nessa segunda parte, gostaria de explicar melhor a parte técnica das extensões PHP, e precisamos descrever, ao menos a diferença, nas 2 formas diferentes de se fazer isso: modulo PHP e extensão Zend. Apesar de se chamar PHP Module, comumente utilizamos extensão PHP sem problema algum, e não se preocupe, você saberá quando é uma extensão Zend, pois elas são mais complexas, e te dão a possibilidade de criar ganchos internos dentro do PHP e da sua maquina virtual. Então, ao menos que você realmente precise, extensões Zend são algo muito avançado, que atingem situações muito especificas, como XDebug por exemplo. O skel cria uma extensão PHP, então vamos focar nisso por enquanto.
Criando extensões para PHP 8 - Parte 01
Estou começando à reescrever a extensão PHP-GTK novamente (novamente por que é a terceira vez). Depois de aprender muito sobre as dificuldades e ter seguido o caminho mais curto, aprendi bastante sobre escolha de ferramentas e libs dependentes. Todo um universo foi criado em torno do PHP-GTK 3, mas houve dificuldades na compilação para Windows, como digo em outras postagens, esse foi o ponto do fracasso. Já que a extensão será reescrita, aproveitei para me aprofundar nas mudanças do PHP 8 e já utilizar GTK 4.
PHP FFI GTK - O que esperar dessa nova extensão FFI para o GTK?
Se você chegou até aqui, já deve saber que Gtk é usado para criação de interfaces gráficas e que, apesar de ser nativo do Linux, também funciona em outros sistemas operacionais como Windows e Mac. Se você ja que leu até aqui meio rápido, também deve saber que o Php possuia (ainda possui até) uma ótima extensão para desenvolvimento de interface gráfica, assim como também deve saber que só com Php 5 e Gtk 2. Mas você talvez não saiba que já existe um bind muito funcional para Php 7.* e Gtk 3, e que agora um bind utilizando FFI está sendo desenvolvido.
Release PHP-GTK3 - 0.2-beta
Através da tag 0.2-beta, quinta feira passada fio lançado o release, ainda de testes da extensão PHP-GTK3.