Important
This repository and project are not backed by PostHog.
This is the unofficial Symfony SDK for PostHog.
Using this posthog-symfony
SDK provides you with the following benefits:
- Quickly integrate and configure PostHog for your Symfony app
- Out of the box, each event will contain the following data by default
- The currently authenticated user
- The Symfony environment
To install the SDK you will need to be using Composer in your project. To install it please see the docs.
composer require sanderverkuil/posthog-symfony
If you installed the package using the Flex recipe, the bundle will be automatically enabled. Otherwise, enable it by adding it to the list
of registered bundles in the Kernel.php
file of your project:
class AppKernel extends \Symfony\Component\HttpKernel\Kernel
{
public function registerBundles(): array
{
return [
// ...
new \PostHog\PostHogBundle\PostHogBundle(),
];
}
// ...
}
The bundle will be enabled in all environments by default. To enable event reporting, you'll need to add a key (see the next step).
Add the PostHog key of your project.
Add the key to your config/packages/posthog.yaml
file.
Keep in mind that by leaving the key
value empty (or undeclared), you will disable the PostHog integration:.
post_hog:
key: "<ph_project_api_key>"
host: "https://app.posthog.com/" # Or https://eu.posthog.com/ for EU
This uses HTTPlug to remain transport-agnostic, you need to install two packages that provide
php-http/async-client-implementation
and psr/http-message-implementation
.
The suggested packages are:
- the Symfony HTTP Client (
symfony/http-client
) - Guzzle's message factory (
http-interop/http-factory-guzzle
)
- 0.x is actively maintained and developed on the master branch, and uses PostHog SDK 3.0;
Please refer to CONTRIBUTING.md.
Licensed under the MIT license, see LICENSE
- I would like to thank @getsentry for inspiration on how to set up a symfony bundle with regards to general things.
- I would like to thank @posthog for their product.