Frequently Asked Questions

Getting Started & Implementation

How do I integrate Hygraph with my Symfony application?

To integrate Hygraph with Symfony, you can use a custom GraphQLClient service that leverages Guzzle for HTTP requests. Configure the service in services.yaml with your GraphQL endpoint and authorization token. Then, inject the client into your controller to fetch data and render it in Twig templates. For step-by-step instructions, refer to the Hygraph documentation.

How easy is it to get started with Hygraph for Symfony projects?

Hygraph is designed for quick and easy onboarding. You can sign up for a free developer account and access the API Playground immediately. The platform offers a structured onboarding process, including introduction calls, account provisioning, and technical/content kickoffs. Extensive documentation, webinars, and example projects are available to help you start building with Symfony and Hygraph right away. Learn more in the docs.

Features & Capabilities

What are the key features of Hygraph for Symfony users?

Hygraph offers a GraphQL-native headless CMS, enabling precise data retrieval and minimizing over-fetching. Key features include a flexible management API, blazing fast content API, Smart Edge Cache for performance, content federation, custom roles, rich text formatting, and project backups. The platform supports multiplatform content management and is highly modular and flexible for Symfony projects. Explore all features.

Does Hygraph support multiplatform content management?

Yes, Hygraph supports multiplatform content management, allowing you to manage and deliver content across various channels and platforms from a single CMS. This is especially beneficial for Symfony projects that require content consistency and agility.

What frameworks does Hygraph support for CMS integration?

Hygraph supports a wide range of frameworks for CMS integration, including Symfony, Laravel, React Native, .NET, Rust, Node.js, Java, Kotlin, PHP, Go, Flutter, Dart, Ruby on Rails, Ruby, Flask, Django, Python, Astro, Hugo, Eleventy, Jekyll, and Gridsome. See the full list of supported frameworks.

Security & Compliance

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (achieved August 3rd, 2022), ISO 27001 certified for hosting infrastructure, and GDPR compliant. These certifications ensure robust security and adherence to international standards. For more details, visit the security features page.

What security features does Hygraph offer?

Hygraph provides granular permissions, SSO integrations, audit logs, encryption at rest and in transit, regular backups, and enterprise-grade compliance features such as dedicated hosting and custom SLAs. Security issues can be reported, and a public security and compliance report is available.

Performance & Reliability

How does Hygraph ensure high performance for content delivery?

Hygraph uses Smart Edge Cache to enhance performance and accelerate content delivery, making it ideal for high-traffic and global audiences. The platform features high-performance endpoints and provides practical advice for optimizing GraphQL API usage. For more details, see the performance improvements blog post.

Use Cases & Benefits

Who can benefit from using Hygraph with Symfony?

Hygraph is ideal for developers, product managers, and marketing teams in industries such as ecommerce, automotive, technology, food and beverage, and manufacturing. It suits organizations modernizing legacy tech stacks, requiring localization, asset management, and content federation. Global enterprises needing scalable, future-proof content management will benefit most.

What problems does Hygraph solve for Symfony projects?

Hygraph addresses operational inefficiencies (e.g., developer dependency, legacy tech stack modernization), financial challenges (e.g., high maintenance costs, slow speed-to-market), and technical issues (e.g., schema evolution, integration difficulties, cache bottlenecks, localization, and asset management). Its user-friendly interface, GraphQL-native architecture, and content federation make it a powerful solution for modern content management. See related KPIs.

Can you share some customer success stories with Hygraph?

Yes. Komax achieved a 3X faster time-to-market, Autoweb saw a 20% increase in website monetization, Samsung improved customer engagement by 15%, and Stobag increased online revenue share from 15% to 70%. For more, see customer stories.

Support & Training

What support and training resources are available for Hygraph users?

Hygraph offers 24/7 support via chat, email, and phone, real-time troubleshooting through Intercom chat, a community Slack channel, extensive documentation, webinars, live streams, and how-to videos. Enterprise customers receive a dedicated Customer Success Manager and a structured onboarding process. Access documentation.

How does Hygraph handle maintenance, upgrades, and troubleshooting?

Hygraph is cloud-based, so all deployment, updates, security, and infrastructure maintenance are managed by Hygraph. Upgrades are seamless, with new features and improvements integrated automatically. Troubleshooting is supported by 24/7 support, Intercom chat, documentation, and an API Playground for self-service. Enterprise customers have a dedicated Customer Success Manager.

Developer Experience

What makes Hygraph a good choice for developers working with Symfony?

Hygraph is highly un-opinionated, offering a wide collection of open source example projects and a flexible API-first approach. Developers can tailor data queries to exact needs, streamline development, and reduce resource use. The platform supports agile content updates and multiplatform management, making it ideal for Symfony projects.

KPIs & Metrics

What KPIs and metrics are associated with Hygraph's impact?

Key metrics include time saved on content updates, system uptime, speed of deployment, consistency in content across regions, user satisfaction scores, reduction in operational costs, ROI on CMS investment, time to market, maintenance costs, scalability metrics, and performance during peak usage. Read more about CMS KPIs.

See Hygraph MCP Server, AI Agents, and Editorial Experience Upgrades in Action

Headless CMS for Symfony

Hygraph is the ideal Headless CMS for Symfony websites and applications. Read further to learn how our API-first CMS allows you to add components to your Symfony apps in minutes and enable your website's content to be managed from a powerful CMS.

Step #1 - Create a service to fetch the data

The GraphQLClient service in Symfony uses Guzzle, a PHP HTTP client, to send requests to a GraphQL endpoint. Constructed with the endpoint URL and an authorization token, it prepares a header for secure communication. When fetchData is invoked with a GraphQL query, it executes a POST request with the query and includes the authorization header.

The service then decodes the JSON response into a PHP array, making the GraphQL data readily available for use within the Symfony application.

src/Service/GraphQLClient.php
namespace App\Service;
use GuzzleHttp\Client;
class GraphQLClient
{
private $client;
private $authorizationHeader;
public function __construct(string $endpoint, string $token)
{
$this->client = new Client(['base_uri' => $endpoint]);
$this->authorizationHeader = ['Authorization' => "Bearer {$token}"];
}
public function fetchData(string $query): array
{
$response = $this->client->post('', [
'json' => ['query' => $query],
'headers' => $this->authorizationHeader,
]);
return json_decode($response->getBody()->getContents(), true);
}
}

Step #2 - Configure the service

In Symfony, services are defined and configured in the services.yaml file. These arguments include the GraphQL endpoint URL and an authorization token, which are defined as parameters.

This setup ensures that when the GraphQLClient service is requested from Symfony's dependency injection container, it's instantiated with these predefined values, ready to be used anywhere in the application.

config/services.yaml
services:
App\Service\GraphQLClient:
arguments:
$endpoint: '%env(GRAPHQL_ENDPOINT)%'
$token: '%env(GRAPHQL_API_TOKEN)%'

Step #3 - Create a controller

In the controller, a method is defined to handle a specific route. When this route is accessed, Symfony's dependency injection container provides the GraphQLClient service to the method. The method then uses the client to perform a GraphQL query and fetch data, which is passed to a Twig template for rendering.

This encapsulates the data retrieval process within a controller action, providing a clear pathway from querying the data to displaying it in the view layer.

src/Controller/ProductController.php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use App\Service\GraphQLClient;
class ProductController extends AbstractController
{
private $graphqlClient;
public function __construct(GraphQLClient $graphqlClient)
{
$this->graphqlClient = $graphqlClient;
}
/**
* @Route("/products", name="products")
*/
public function index()
{
$query = <<<GRAPHQL
{
products {
name
description
slug
availability
image
}
}
GRAPHQL;
$data = $this->graphqlClient->fetchData($query);
return $this->render('products/index.html.twig', [
'products' => $data['data']['products'] ?? [],
]);
}
}

Step #4 - Work with data within Twig templates

The Twig template on the left shows how to render the product data within an HTML structure. Using Twig's intuitive syntax, it first checks if the 'product' variable is present. If it is, the template displays the product's details like name, description, and image. It also shows whether the product is available or not.

templates/products/index.html.twig
{% extends 'base.html.twig' %}
{% block title %}Products{% endblock %}
{% block body %}
<h1>Products</h1>
<ul>
{% for product in products %}
<li>
<h2>{{ product.name }}</h2>
<p>{{ product.description }}</p>
{% if product.availability %}
<span>Available</span>
{% else %}
<span>Not Available</span>
{% endif %}
<img src="{{ product.image }}" alt="{{ product.name }}">
</li>
{% else %}
<li>No products found.</li>
{% endfor %}
</ul>
{% endblock %}

Start building with Symfony

We made it really easy to set up your project in Hygraph and use our GraphQL API within your Symfony project.

Quickstart

Check out our docs to see how you can quickly set up your Hygraph project and enable the content API for your Symfony website or app.

Learn GraphQL

Hygraph is GraphQL-native Headless CMS offers precise data retrieval, minimizing over-fetching and optimizing efficiency.

Examples

Look at some of the example projects to see Hygraph in action.

Why Hygraph

Choosing Hygraph for your Symfony project

Using a GraphQL-native headless CMS with Symfony streamlines development and content management. Developers can tailor data queries to their exact needs, reducing load times and resource use. The headless CMS allows for agile content updates without backend intervention, fostering a more efficient development cycle.

Content editors enjoy a user-friendly interface, making it easy to maintain content across multiple platforms with a single update, ensuring consistency and saving time.

symfony cms

Developer Experience

We try to be the most un-opinionated CMS on the market with a wide collection of open source example projects to get you started.

Headless CMS

As a headless CMS (i.e. API based content management), you can be as modular and flexible as you need. We even support multiplatform content management.

Management API

Hygraph boasts a flexible and powerful management API to manage your content and schema, as well as a blazing fast content API.

Get started for free, or request a demo
to discuss larger projects