Search by

folklore / laravel-folklore

dmongeau

The shared foundation of Folklore's Laravel sites: entities, repositories, JSON columns with references, and opt-in modules

Package info

github.com/folkloreinc/laravel-folklore

pkg:composer/folklore/laravel-folklore

Statistics

Installs: 2 539

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 10

v2.0.0-alpha.15 2026-11-09 16:39 UTC

README

The shared foundation of the Laravel sites built by Folklore: entities and repositories over Eloquent models, JSON columns with references to other models (through folklore/laravel-json-data), and opt-in modules for medias, pages, auth and third-party services.

Versions

Version Branch Status Requires
2.x v2.x (default) In development, released as alphas PHP 8.3+, Laravel 12 or 13
1.x v1.1 Maintained: fixes and security PHP 8.3+, Laravel 11 to 13

Installation

2.x, during its pre-releases:

composer require folklore/laravel-folklore:^2.0@alpha folklore/laravel-json-data:^1.0@alpha

folklore/laravel-json-data is required by the core. Require it too while it has no stable release: a stability flag doesn't apply to the dependencies of a required package.

The modules are off by default and are turned on in config/site.php; each one suggests the packages it needs. See the architecture.

With the panneau module, a site's admin starts from the standard resources: pages with their blocks, users and the media library, which the site's own classes extend (the architecture):

namespace App\Panneau\Resources;

class Pages extends \Folklore\Panneau\Resources\Pages {}

folklore:install writes these classes, with the site's contracts, entities, models, repositories and block types, and wires them in config/site.php and App\Providers\PanneauServiceProvider. It skips the files that exist, so it can run again to add a resource:

php artisan folklore:install                 # pages, users and medias
php artisan folklore:install --only=medias   # one resource
php artisan folklore:install --dry-run       # what it would write

--force overwrites the classes that exist. php artisan vendor:publish --tag=folklore-stubs publishes its stubs, and those of the make:* commands, to change them.

1.x:

composer require folklore/laravel-folklore:^1.1

Documentation

License

MIT