Scriptor is a lightweight PHP CMS. You're reading the Developer Guide, the documentation for people building on top of Scriptor: themes, modules, integrations.
Who this track is for
PHP developers comfortable with Composer and vendor/autoload.php,
new to Scriptor's plugin system but able to read class signatures.
Each Concepts chapter introduces the machinery the next one builds
on, so the early chapters assume only PHP fluency.
If you just want to edit your site's content, you're in the wrong track. Head over to the User Guide instead.
What you'll find here
- Six Concepts deep-dives. Read each one once. They teach the architecture: how requests flow, how the page tree works, what the theme contract is, how PSR-14 hooks are dispatched, how the DI container is wired, how files are handled.
- Two tutorial tours. Build a Theme and Build a Module, each carrying a single mini-case through every chapter so you finish with one complete artefact, not a pile of disconnected snippets.
- A Cookbook. Fifteen-or-so recipes for things people actually
google: custom 404s, redirects,
sitemap.xml, RSS feeds, a login-wall, search pages, multi-language sites. - A hand-curated API Reference. One page per public class, with a narrative intro and worked examples, not an auto-generated PHPDoc dump.
Conventions
Code blocks fence with three backticks and a language tag:
<?php
declare(strict_types=1);
namespace MyTheme;
use Scriptor\Boot\Frontend\Site;
final class Theme extends Site
{
protected function init(): void
{
// ...
}
}
Inline code looks like Site::render('content').
Call-out boxes use blockquotes. They mark gotchas worth remembering, usually a footgun the docs themselves stepped on while being written.
What's next
- If you're new, jump straight into Concepts → Life of a request.
- If you've read the Concepts already, pick a tutorial track and follow the mini-case from chapter one.
Behind the scenes
This page is markdown, a real file at
scriptor-cms-site/theme/themes/info/content/developer-guide/welcome.md.
The Info theme's markdown route resolves the URL
/developer-guide/welcome/, the renderer parses the frontmatter and
body, and the markdown-section template wraps the result in the
documentation chrome.