Welcome to the Pragma CMS Documentation!
The Pragma CMS documentation will take you through the complete journey of your web project. From the technical setup on your VPS to the advanced customization of the 'Clean Monolith' architecture, you will find everything needed to build, secure, and scale your applications.
If you're totally new to Pragma CMS, we suggest you to:
1. Head over to the Quick Start Guide to install the CMS in 5 minutes.
2. Learn about the Directory Structure to understand where your files live.
3. Go through the Content Types documentation to learn how to model your data.
Some parts of this documentation (e.g. Hooks, Extensions, Routing) are mostly intended for developers and assume some prior knowledge of the PHP ecosystem and server management.
If you are making your first steps with PHP web development while discovering Pragma CMS, we encourage you to learn more about:
- PHP (8.0+) and SQL for backend development,
- HTML, CSS and JavaScript for frontend development,
- and optionally Twig templating if you prefer it over native PHP templating.
Unlike WordPress, Pragma CMS does not hide the code from you. It empowers you to write clean, secure code. A basic understanding of MVC-inspired structures and Terminal commands (CLI) will help you get the most out of this platform.
Explore by Topic
Overview of Pragma
Getting Started
Content Modeling
Front-end & Design
Advanced Development
Security & Authentification
Architecture & Performance
I am a Developer
Dive into the code, extend the core, and build custom themes.
| Core Concepts | Customization | API & Data |
|---|---|---|
| HTTP Request Flow: Trace the lifecycle of a request from index.php to response. | Themes & Templates: Learn how to use Twig or Native PHP for your views. | Rest API & Headless: Consume your content via JSON from any frontend. |
| Routing System: Define custom routes and controllers. | Hooks: Intercept logic and extend Pragma's behavior. | Query Builder: Fetch entries efficiently without SQL. |
| Security Best Practices: CSRF, XSS protection, and Permissions. | Extensions: Create modular plugins to add features. | Form Handling: Process user submissions securely. |
I am a Content Manager
Learn how to model data and manage your website day-to-day.
- Content Modeling
- Learn the difference between Singles, Collections, and Structures.
- Visual Builder
- How to use the drag-and-drop editor to create pages.
- Multi-Site Management
- Manage multiple domains from a single dashboard.
- Media & Assets
- Organize images, documents, and focal points.
- Search is your friend: Use the search bar (
CMD+K) to find specific functions likeEntryManager::get()orHook::REGISTER. - Copy/Paste ready: Most code snippets in the documentation can be copied directly into your
sites/my-site/folder to work immediately. - Need more? If you prefer learning by looking at code, check out the Starter Kit Structure page.
Help & Support
Can't find what you're looking for?
- Troubleshooting - How to handle HTTP 500 errors or Permission issues.
- Community Discord - Chat with other developers.
- GitHub Repository - Report a bug or contribute.
- v1.1.0 - Released Migration Tool.