C - Index of “Under the Hood” Boxes
Every optional aside in this book, in reading order, in case one of them stuck with you and you want to go find it again.
| Chapter | What it covers |
|---|---|
| Framework, CMS, or Headless? | Why frameworks, CMSes, and API tools share the same underlying language features underneath different packaging |
| Scaffolding a First Project | Composer’s dependency resolution and autoloading |
| Symfony/Console | Console commands as plain PHP classes, no special runtime |
| Guzzle | PSR-7 and PSR-18, the interfaces that let HTTP clients interoperate |
| League/Plates | Why plain-PHP templates need no compile step |
| Monolog | PSR-3, the standard logging interface |
| Respect/Validation | Validation libraries leaning on PHP’s own type system |
| League/Flysystem | Interface-based polymorphism applied to storage |
| WordPress Block Themes | Blocks stored as structured HTML, not PHP templates |
| TYPO3 Structured Content | TCA as metadata-driven UI generation |
| Statamic | Flat files, PHP’s filesystem functions, and caching instead of SQL |
| Craft CMS | Dynamic property access powering flexible content fields |
| Laravel Breeze/Fortify | Why password hashing is deliberately slow (bcrypt/argon2id) |
| Symfony Security | The #[IsGranted] attribute and reflection |
| WordPress Roles | Capabilities as plain strings, not a formal permissions engine |
| Laravel Filament | Fluent, chainable objects enabled by named arguments and enums |
| Symfony EasyAdmin/Sonata | Reading Doctrine entity metadata to infer field types |
| API Platform Admin | Generating an OpenAPI/Hydra schema from attributes |
| WordPress CPT as CRUD | Every post type sharing one wp_posts table |
| Laravel Nova | Why a paid license changes nothing about the underlying package mechanism |
| API Platform from One Class | Attributes plus reflection generating routing, validation, and docs |
| Laravel Sanctum | Why tokens are hashed differently than passwords |
| WordPress REST API | The REST API built on WordPress’s hooks and filters |
| Laravel Reverb/Livewire | PHP Fibers, and how they make a WebSocket server possible |
| Symfony Mercure/Turbo | Server-Sent Events as a plain HTTP feature |
| Nextcloud Talk | Nextcloud’s app system and PHP’s own autoloading conventions |
| Pusher | Why a good abstraction makes “self-host or pay” a reversible decision |
| Nextcloud Storage | Chunked uploads and ETags for efficient sync |
| Laravel Storage/S3 | Pre-signed URLs and cryptographic signatures |
| WordPress Media Library | Eager thumbnail generation via GD/Imagick |
| WooCommerce | Commerce data modeled on the same wp_posts/wp_postmeta tables |
| Sylius | Built from reusable Symfony components, not invented from scratch |
| Laravel Cashier/Stripe | Verifying webhook signatures before trusting a payload |
| Laravel Scout | A driver interface making search engines swappable |
| TYPO3 Solr | Mirroring page permissions into the search index |
| WordPress Search | WP_Query as the hook point for smarter search backends |
| Laravel Queues | Job serialization and why jobs should stay simple |
| Symfony Messenger | Routing messages to handlers via PHP’s type system |
| WordPress WP-Cron | Why WP-Cron triggers on page loads instead of a system timer |
| Laravel Prism | A provider interface, the same pattern as Flysystem’s adapters |
| Symfony AI Bundle | Dependency injection applied to an AI agent |
| WordPress AI Plugins | Why WordPress ships its own portable HTTP client |
| TYPO3 Multilingual Trees | Translations as linked records, not extra columns |
| WordPress Multisite/WPML | Two different structural solutions to two different problems |
| Symfony Translation | Translation files compiled into cached PHP arrays |
| Laravel Pest/Larastan | Static analysis reasoning over type hints without running code |
| Symfony PHPStan/Rector | Rector rewriting code by parsing and modifying its AST |
| WordPress Testing | Test isolation via database transaction rollback |
| Cross-Ecosystem SAST | Data-flow analysis versus type-checking |
| Sentry/Flare | Hooking into PHP’s own exception and error handlers |
| FrankenPHP/Octane | Worker mode as the mirror image of Fibers |
| TYPO3 Caching | Tag-based cache invalidation |
| Nextcloud Scaling | Storage adapters again, this time under scaling pressure |
| Blackfire | Profiling via a Zend Engine extension |
| Laravel Forge/Vapor | Statelessness as the enabler of serverless deployment |
| Cloud Hosting | The same PHP process, regardless of which cloud runs it |
| Platform.sh | Infrastructure as versioned configuration |
| WordPress Managed Hosting | Object caching with Redis/Memcached |
| Nextcloud AIO | Container orchestration via the mastercontainer pattern |