• favicon brand
  • Português 🇧🇷
  • Blog
  • Tags
  • GPG Keys
  • Resume
  • Português 🇧🇷 Blog Tags GPG Keys Resume

Why I created the Zetsu API

I needed to host my files somewhere without needing to worry about file names, folder structure or file extensions. The files needed to be accessible publicly and must not depend on any versioning system like Git, Google Drive, etc. So I created my own file hosting service.
Sep 27, 2025 — 4 min read
devops
Article cover

Auxiliary builders for doctrine

Doctrine’s Query Builder works for most cases and offers a fluent interface that allows you to build your query step by step, following the builder pattern. However, it lacks some methods that are available in QueryDsl (Java), and inspired by that, I wrote some auxiliary builders that you can use in your PHP projects.
Sep 21, 2025 — 5 min read
doctrine
Article cover

The precomputed Algorithm for Paginated Responses in Symfony

Today, I want to introduce an algorithm for paginated responses in Symfony that aims to minimize database usage and maximize performance. It's called the "precomputed pagination algorithm", and it was conceived to deal with a recurrent problem in my previous job
Sep 17, 2025 — 13 min read
symfony doctrine
Article cover

Stop Repeating Yourself: Use the Builder Pattern for DTOs in Doctrine

Stop duplicating query logic in Doctrine. Learn how to use the Builder Pattern to create reusable, and maintainable DTO queries — with clean, production-ready PHP.
Jul 1, 2025 — 5 min read
symfony doctrine
Article cover
chevron_left 1 2 3 4 chevron_right
chevron_left 2 chevron_right
Copyright © 2026 Cézar Augusto de Campos.
All rights reserved.
Source code