statamic/cms
Statamic is a flat-first, Laravel + Git powered CMS for building beautiful, easy-to-manage websites. Install this core Composer package into an existing Laravel app, or use the Statamic application repo/CLI for a preconfigured new project.
Build vs. Buy Decision: Reinforces Statamic as a Laravel-native CMS that eliminates the need for custom PHP/CMS development or non-PHP alternatives (e.g., Strapi, Contentful). The new release (v6.19.0) solidifies its developer-centric approach with improvements like Blade field templates (for statamic-forms) and configurable template paths, aligning with Laravel’s ecosystem while addressing UX pain points (e.g., crop editor clarity, multi-site breadcrumbs).
@blueprint template base path configurability (v6.19.0) enables modular content modeling, reducing boilerplate for large projects (e.g., microservices or multi-repo setups).Roadmap Priorities:
statamic-forms Blade templates now support publish commands, bridging the gap between content management and Laravel’s validation/middleware.nav:breadcrumbs in multi-site setups (v6.19.0) and locale-aware date handling (date time overflow fix) make Statamic viable for global products without custom workarounds./index.php request poisoning (v6.19.0) and perPage query parameter capping mitigate risks in production environments.Use Cases:
Site::absoluteUrl poisoning) reduce friction for PHP devs.@blueprint paths enable modular content structures (e.g., shared blueprints across repos) while maintaining Git integration.*"Statamic v6.19.0 eliminates the last excuses to adopt a Laravel-native CMS. Here’s why it’s a no-brainer for [Company]:
@blueprint paths let us reuse content models across teams or repos (e.g., shared product blueprints for e-commerce and marketing sites).Cost vs. Value:
Use Case: For our [product launch], Statamic will let marketing update content via Git (like code) while our devs extend it with Laravel’s ecosystem. We’ll launch faster, scale globally, and avoid technical debt."*
*"Statamic v6.19.0 closes critical gaps for Laravel teams. Here’s how to leverage it:
Blade Field Templates for Forms:
statamic-forms Blade templates enable publish commands for forms, bridging Laravel’s validation and Statamic’s content management.Form::validate() and publish it via php artisan statamic:publish.{{ Form::blade() }} in blueprints to embed Laravel Blade logic directly in content fields.Multi-Site & Localization:
nav:breadcrumbs for multi-site setups (v6.19.0). Now, global navigation works out of the box without custom middleware.{{ $entry->date->format('Y-m-d') }} works in all time zones).Content Modeling at Scale:
@blueprint template base paths let you organize blueprints by feature (e.g., /blueprints/ecommerce/, /blueprints/marketing/).$blueprint = app()->make('Statamic\Blueprints\BlueprintLoader')->load('ecommerce/product');
UX & Performance Fixes:
/index.php poisoning fix protects against open redirect attacks.Migration Path:
public function handle()
{
$data = $this->validate(['specs' => 'required|array']);
// Process with Laravel logic...
}
Trade-offs:
Next Steps:
statamic-forms + Blade templates.Why Not [Alternative]?
How can I help you explore Laravel packages today?