laravel-persona / core
Persona - a headless data layer for person-related data using polymorphic relations.
Requires
- php: ^8.2
- illuminate/database: ^11.0|^12.0|^13.0
- illuminate/notifications: ^11.0|^12.0|^13.0
- illuminate/support: ^11.0|^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This is the core data layer for the Laravel Persona ecosystem.
Laravel Persona is a powerful, headless, and polymorphic data layer for managing person-related data — profiles, contacts, addresses, documents, social accounts, physical attributes, legal details, and relationships — in Laravel applications.
What is this package?
This package provides everything Persona needs at the data layer: Eloquent models with encrypted/hashed casts, polymorphic morph relations, config-driven managers, verification OTPs, pruneable soft-deletes, and a single fluent entry point (Persona::for($model)). It is the foundation that all presentation-layer companions (API, Livewire, Inertia, Blade) build on.
Installation
composer require laravel-persona/core
Then run the interactive installer:
php artisan persona:install
This will publish the config, migrations, and stubs, and prompt you to set up your PERSONA_HASH_KEY.
Full Documentation
Please refer to the Main Repository for complete installation instructions, API usage, configuration details, and architecture documentation.
Note: This repository is a read-only split of the main monorepo. Please submit all issues and pull requests to the main repository.