Skip to main content
Version: 2026.1

Development Tools

Pimcore ships a set of developer-facing tools and APIs that support common application development tasks.

Generic Execution Engine

Asynchronous job execution via Symfony Messenger. Define multi-step jobs, track their state, and manage runs (start, cancel, restart) with built-in logging and error handling.

Logging

Pimcore log types (<env>-debug.log, <env>-error.log, usage.log, redirect.log), custom log channels via Monolog, and the Application Logger bundle for database-backed log entries with email notifications.

Security and Authentication

Symfony Security Component integration for frontend authentication. Configure firewalls, user providers backed by Pimcore data objects, and password hashing with the PasswordFieldHasher.

Cloning Elements

Clone and copy documents, assets, and data objects programmatically. Use Service::cloneMe() for in-memory copies or copyAsChild() for persistent duplicates with automatic key generation.

Email Framework

Send emails with Pimcore\Mail, use Document Email templates with Twig expressions, configure transports, and leverage debug mode to redirect all outgoing mail to test recipients.

UUID Support

Assign and retrieve universally unique identifiers for documents, assets, and data objects via the UUID bundle.

Settings Store

A key-value store API for persisting bundle and application settings in the Pimcore database, with optional scoping.

Migrations

Doctrine Migrations integration with Pimcore's --prefix option for filtering migrations by namespace (core, bundle, or project).

Maintenance Mode

Restrict access to the application during maintenance. Only the session that activated maintenance mode retains access; all other users see a configurable maintenance page.

Static Helpers

Utility classes for common operations: Pimcore\Tool (validation, hostnames, mail), Element\Service (path lookups, element types, folder creation), and Document\Service (rendering documents outside views).