Low-code Integrations

Integrating Scoby Analytics with Symfony

Here's a step-by-step guide to creating a Symfony Event Listener using the Scoby Analytics PHP SDK:


You need your License Key and Salt to use Scoby Analytics in Symfony.

Setting up Configuration Variables in Symfony

  • Open the .env file in the root directory of your Symfony project.

  • Add the following lines:

  • You can access these values using Symfony's configuration system:

      scoby_api_key: '%env(resolve:SCOBY_API_KEY)%'
      scoby_salt: '%env(resolve:SCOBY_SALT)%'

Creating the Symfony Event Listener

  • Generate a new event listener:

    bin/console make:subscriber ScobyAnalyticsSubscriber
  • In the generated ScobyAnalyticsSubscriber.php file, import necessary classes and services:

    use Symfony\Component\HttpKernel\Event\RequestEvent;
    use Scoby\Analytics\SDK as ScobySDK;
  • Update the getSubscribedEvents method to listen to the kernel.request event:

    public static function getSubscribedEvents()
        return [
            RequestEvent::class => 'onKernelRequest',
  • Implement the onKernelRequest method:

    public function onKernelRequest(RequestEvent $event)
        $apiKey = $this->getParameter('scoby_api_key');
        $salt = $this->getParameter('scoby_salt');
        $scoby = new ScobySDK($apiKey, $salt);
        // Collect necessary data
        $request = $event->getRequest();
        $ipAddress = $request->getClientIp();
        $userAgent = $request->headers->get('User-Agent');
        $requestedUrl = $request->getUri();
        $referringUrl = $request->headers->get('referer');
        // Use the Scoby SDK to log the page view
            'ipAddress' => $ipAddress,
            'userAgent' => $userAgent,
            'requestedUrl' => $requestedUrl,
            'referringUrl' => $referringUrl,

Final Steps

  • With the event listener set up and the environment variables configured, Scoby Analytics can now log page views on every request to your Symfony application.

  • Clear the cache to ensure the changes take effect:

    bin/console cache:clear

By following this guide, you'll successfully integrate Scoby Analytics with your Symfony application using an Event Listener.