Skip to main content
Version: 2026.2

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).