maicol07/flarum-api-client
A PHP client for the Flarum API that simplifies authentication and common forum operations, including discussions, posts, users, tags, and notifications. Works well in Laravel or standalone PHP projects, with a clean wrapper for making API requests and handling responses.
Client::request() instead of magic __call, dropping getConfig()), plus Rector and CI/changelog automation. That signals an actively maintained dependency tracking upstream PHP and Guzzle deprecations — a positive signal for a 12–24 month roadmap commitment, though the still-supported PHP 7.3 CI matrix indicates conservative reach rather than a modern-only posture.Adopt when:
Look elsewhere or hand-roll when:
Due diligence before adoption: confirm the license terms, review the changelog for breaking changes across the versions you would span, check issue/PR responsiveness, and confirm that the Guzzle version constraint matches what your app already resolves to avoid a dependency conflict.
For executives: This is a small, open-source PHP client for connecting our product to a Flarum forum. It converts a "build a custom integration" project into a short wrapping task — roughly days of engineering instead of weeks — and it is actively maintained, with the latest release specifically addressing PHP 8.4 and Guzzle deprecation compatibility. The strategic value is optionality: it lets us pursue community, SSO, and moderation features without pre-committing to a large integration build. Cost is a dependency plus a thin internal adapter, not a platform decision; the main risk to manage is that support comes from a community maintainer, which we mitigate by keeping our adapter thin so the library is replaceable.
For engineering: Version 1.5.4 is a patch with no breaking changes — explicit nullable parameters for PHP 8.4, a move off deprecated Guzzle APIs (uppercase Client::request(); getConfig() dropped because Guzzle already merges client default headers), plus Rector config, CI action bumps, and git-cliff changelog automation. Upgrade risk is low; the only behavioral note is if we were relying on getConfig() or magic-method calls, which we should not be. Recommended shape: depend on the package directly and add a Laravel service provider plus config, so our surface area is a handful of our own classes rather than scattered calls — that keeps the swap-out cost near zero if we ever need to replace it.
How can I help you explore Laravel packages today?