Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Storyblok Laravel Package

21torr/storyblok

API helpers and infrastructure for working with Storyblok from Symfony, simplifying content delivery and management.

View on GitHub
Deep Wiki
Context7

A Symfony integration for the Storyblok headless CMS

Frequently asked questions about Storyblok
Is 21torr/storyblok a Laravel package?
No. 21torr/storyblok is a Symfony bundle, not a Laravel package. It has no Laravel service provider, config/storyblok.php, facade, package auto-discovery, or Artisan commands. Its integration points are Symfony bundle registration, DI container services, tagged services, console commands, and event subscribers.
Can I use 21torr/storyblok in a Laravel application?
Not directly. The bundle relies on Symfony's DI container and bundle system, so installing it in Laravel will not produce a working Storyblok integration. Realistic options are a small Symfony sidecar service that owns Storyblok and serves JSON to Laravel, a thin Laravel package that mirrors the bundle's patterns using its field classes as a specification, or the official Storyblok PHP client with hand-rolled typing. A port is legally open because the bundle is MIT licensed, but you own ongoing divergence from upstream.
How do I install and register 21torr/storyblok in Symfony?
Install it with Composer, register the bundle in your Symfony kernel bundles list, and define one or more adapters for the Storyblok spaces you use. Version 5 removed the global bundle config and global ContentApi and ManagementApi services, so you configure and inject an AbstractStoryblokAdapter instead of reaching for a container-global entry point. See the linked 21TORR documentation for the exact bundle registration and adapter wiring.
Which PHP and Symfony versions does 21torr/storyblok require?
The 5.3.0 line requires PHP 8.5 or newer and Symfony 8.0 or newer, which tracks the vendor's own upgrade cadence. If your runtime is PHP 8.2 through 8.4, you will be on an older 5.x release or the 3.x line. Check the exact tag you plan to use before committing, because the platform floor moves with the vendor stack.
How do I configure Storyblok content and management APIs per space or locale?
In version 5 you define an adapter per Storyblok space or locale by extending AbstractStoryblokAdapter and injecting it where needed. That replaced the older global ContentApi and ManagementApi services and the global bundle config, which is better for multi-space and multi-locale setups but gives you no single global service to grab. You then wire the adapter key as the webhook token, per version 5.1.1.
What typed field classes does 21torr/storyblok provide?
The bundle ships strongly typed field classes such as NumberField, RichTextField, AssetField, LinkField, MarkdownField, DateTimeField, ChoiceField, FolderData, and AssetData. They carry validation and hydration settings so Storyblok component payloads map into typed PHP objects instead of loose arrays. That typed content model is the main reason to consider the bundle, since editorial content modeling in code is expensive to build yourself.
How do I sync Storyblok component definitions into PHP classes?
The bundle includes a definitions-sync console command that pulls Storyblok component definitions into your PHP component classes and is intended to be wired into deploy hooks. You map Storyblok component names to PHP component classes, then run the sync so definitions stay aligned with the CMS. Treat the command as part of your deploy pipeline rather than a one-time setup step.
How do I handle Storyblok webhooks and the asset proxy with this bundle?
The bundle provides an asset proxy with signed-URL support, and version 5.1.1 establishes the adapter key as the webhook token you wire into Storyblok. Asset URL parsing was extracted into a dedicated service in 5.2.0, so older versions may handle asset URLs differently. Plan to test webhook and asset behavior against the exact release you deploy.
How should I test a Storyblok integration built with 21torr/storyblok?
There are no Laravel-specific testing helpers because this is a Symfony bundle, so test the adapters and typed field hydration directly in a Symfony test setup. Use fixture payloads from Storyblok and a mocked HTTP client for the content and management APIs, then run the definitions sync in a test environment to catch mapping breaks. Because patch releases change validation edge cases, include regression tests around number fields, slugs, DateTime parsing, and asset metadata.
Is 21torr/storyblok production-ready, and what are the Laravel alternatives?
Treat it as source-available internal tooling rather than an ecosystem dependency: adoption signal is low at five GitHub stars and zero dependents, support is GitHub issues only with no SLA or commercial support tied to the OSS bundle, and the vendor tunes it to its own agency stack. The patch cadence is high with narrow fixes around number-field edge cases, slug trailing slashes, asset metadata shape, and missing service resets, so budget routine upgrade triage. For Laravel, the cleanest option is usually a small Symfony service that owns Storyblok and exposes content over HTTP or JSON; the cheapest to start is a thin Laravel package that mirrors the bundle's content API client and typed hydration.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib