Skip to content

Registry

The module uses registry classes to maintain state across requests and manage current document and route information.

Core Registry Classes

CurrentDocument

Elgentos\PrismicIO\Registry\CurrentDocument

Maintains reference to the current Prismic document.

CurrentRoute

Elgentos\PrismicIO\Registry\CurrentRoute

Maintains reference to the current route.

Implementation

CurrentDocument

public function setDocument(\stdClass $document): void
public function getDocument(): ?\stdClass

CurrentRoute

public function setRoute(RouteInterface $route): void
public function getRoute(): ?RouteInterface

Usage Examples

Document Registry

/** @var $currentDocument CurrentDocument */
if ($document = $currentDocument->getDocument()) {
    // Process current document
}

Route Registry

/** @var $currentRoute CurrentRoute */
if ($route = $currentRoute->getRoute()) {
    // Process current route
}

Best Practices

  1. State Management
  2. Clear registry when needed
  3. Avoid circular references
  4. Handle missing data

  5. Performance

  6. Minimize registry usage
  7. Clear unnecessary data
  8. Consider memory impact

  9. Development

  10. Document registry usage
  11. Handle edge cases
  12. Maintain consistency