dejwcake / craftable-media
Associate files with Eloquent models
Installs: 646
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 13
Type:project
pkg:composer/dejwcake/craftable-media
Requires
- php: ^8.2
- illuminate/support: ^12.0
- spatie/laravel-medialibrary: ^11.12.7
Requires (Dev)
- larastan/larastan: ^3.1
- orchestra/testbench: ^10.0
- phpunit/phpunit: ^11.5.9
This package is auto-updated.
Last update: 2026-01-17 21:08:39 UTC
README
This package adds media management capabilities to your Eloquent models. It builds on Spatie's spatie/laravel-medialibrary and adds:
- Collections definition – a fluent API for defining media collections, inspired by conversion definitions
- Auto-processing – saving an Eloquent model can automatically process and attach media collections from the request
- Authorization – control who has permission to attach specific media to specific models
- Private access – control who has permission to view specific media
Documentation
You can find full documentation at https://docs.getcraftable.com/#/media.
How to develop this project
Composer
Update dependencies:
docker compose run -it --rm test composer update
Composer normalization:
docker compose run -it --rm php-qa composer normalize
Run tests
Run tests with pcov:
docker compose run -it --rm test ./vendor/bin/phpunit -d pcov.enabled=1
To switch between postgresql and mariadb change in docker-compose.yml DB_CONNECTION environmental variable:
- DB_CONNECTION: pgsql
+ DB_CONNECTION: mysql
Run code analysis tools (php-qa)
PHP compatibility:
docker compose run -it --rm php-qa phpcs --standard=.phpcs.compatibility.xml --cache=.phpcs.cache
Code style:
docker compose run -it --rm php-qa phpcs -s --colors --extensions=php
Fix style issues:
docker compose run -it --rm php-qa phpcbf -s --colors --extensions=php
Static analysis (phpstan):
docker compose run -it --rm php-qa phpstan analyse --configuration=phpstan.neon
Mess detector (phpmd):
docker compose run -it --rm php-qa phpmd ./src,./config,./install-stubs,./resources,./routes,./tests ansi phpmd.xml --suffixes php --baseline-file phpmd.baseline.xml