Server-side routing and rendering bridge for blackcube/dcore

Maintainers

πŸ‘ pgaultier

Package info

github.com/blackcubeio/ssr

pkg:composer/blackcube/ssr

Statistics

Installs: 66

Dependents: 1

Suggesters: 1

Stars: 0

Open Issues: 0

1.0.0 2026-05-23 16:48 UTC

Suggests

  • illuminate/http: Required for LaravelSsrRoutingMiddleware (^12.0)
  • php-di/php-di: DI container for Slim (^7.0)
  • slim/psr7: PSR-7 implementation for Slim (^1.7)
  • slim/slim: Required for SlimSsrRoutingMiddleware (^4.14)
  • slim/twig-view: Twig template rendering for Slim (^3.4)
  • yiisoft/aliases: Required for YiiSsrRoutingMiddleware (^3.1)
  • yiisoft/assets: Required for YiiSsrRoutingMiddleware β€” JSON-LD asset injection (^5.1)
  • yiisoft/cache: Required for HandlerRegistry caching (^3.2)
  • yiisoft/html: Required for YiiSsrRoutingMiddleware β€” XeoInjection HTML tags (^3.12)
  • yiisoft/i18n: Required for YiiThrowableResponseFactory, YiiFallbackHandler and YiiLocaleManager β€” locale-aware error pages (^2.0)
  • yiisoft/request-provider: Required for YiiSsrRoutingMiddleware (^1.3)
  • yiisoft/session: Required for YiiSsrRoutingMiddleware and YiiLocaleManager (^3.0)
  • yiisoft/view: Required for YiiSsrRoutingMiddleware β€” XeoInjection view layer (^12.2)
  • yiisoft/yii-view-renderer: Required for YiiSsrRoutingMiddleware β€” WebViewRenderer injections (^7.4)

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause a3c679fd1649baf83f6b48f98dd903e9e0600d64

  • Philippe Gaultier <philippe.woop@blackcube.io>

routingcmsseoslugpsr-7psr-15server-side-rendering

This package is auto-updated.

Last update: 2026-06-23 17:03:03 UTC


README

Server-side routing bridge for Blackcube CMS. Maps dcore slugs to PHP handlers, injects SEO metadata, handles errors β€” all through PSR-15 middleware.

πŸ‘ License
πŸ‘ Packagist Version

Where ssr sits

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ your app (Yii/Slim/Laravel) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 ↓
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ ssr ← you are here β”‚
 β”‚ routing, SEO, handlersβ”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 ↓
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚ dcore β”‚
 β”‚ (data) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 ↓
 DB

Quickstart

composer require blackcube/ssr
#[RoutingHandler(route: 'page')]
final class PageHandler implements RequestHandlerInterface
{
 public function __construct(
 private readonly Content $content,
 private readonly WebViewRenderer $viewRenderer,
 ) {}

 public function handle(ServerRequestInterface $request): ResponseInterface
 {
 return $this->viewRenderer->render('page', ['content' => $this->content]);
 }
}

Documentation

  • Installation β€” requirements, configuration, DI wiring
  • Routing β€” middleware, handler registry, attributes, dispatch modes
  • SEO β€” Xeo injection, meta tags, Open Graph, Twitter Cards, JSON-LD
  • Errors β€” Yii fallback handler, throwable factory, error handler registration
  • Locale β€” YiiLocaleManager (set/get/resolve, session-backed, supported via Language)
  • Integration β€” PSR and Yii integration, Quill helper

License

BSD-3-Clause. See LICENSE.md.