PHP

Francesco Ciannavei

PHP

PHP is the language I use every day and the core of my work. Today I work mostly with PHP 8, using the language's modern features, on projects that range from the systems of the Parliament to AI integrations.

Legacy and current PHP at HSPI

At HSPI I work on legacy systems and on the latest PHP versions. I integrate AI models into applications, improve OCR so it reads documents more accurately, and build AI-based support tools. What the people using them notice: processes that run faster. I develop locally on Docker, and I also manage and configure the servers.

A framework migration at STCC

At STCC I moved the software used to draft legislation for the Chamber of Deputies and the Senate from PHP 5 to PHP 8 and from CodeIgniter 3 to CodeIgniter 4, one controller at a time. The method, what broke on staging and how it ended are on the CodeIgniter page.

PHP and artificial intelligence

At STCC I built a RAG system with a CodeIgniter 4 front end: it passed every request to a Python API that handled the embeddings and the chat with the model. It's a different system from my open-source RAG in Go, described in its own article.

E-commerce at TUN2U

At TUN2U I wrote Magento modules and WordPress themes and plugins, all PHP, handling the whole project lifecycle. I also worked on PrestaShop and Shopify stores.

Frameworks and best practices

At STCC I worked in CodeIgniter 4, the framework the team there really liked; since leaving STCC I've mostly moved to Laravel, which runs this site's CMS. I apply SOLID principles and PSR standards, use Composer for dependencies and PHPUnit for tests.

Turnstile in plain PHP and open-source contributions

I needed Cloudflare Turnstile in a PHP project with no framework and couldn't find a plain-PHP example, so I wrote a guide to integrating Turnstile in PHP and published the code; this site's contact form uses the same server-side check. I've also had pull requests merged into CodeIgniter 4, Shield and DDEV: the full list, including the one fix that wasn't merged, is on the CodeIgniter page.

Rating
10/10

Where i've used it: