dereuromark / cakephp-expose
CakePHP Expose Plugin to expose entities through UUIDs instead of AIIDs
Package info
github.com/dereuromark/cakephp-expose
Type:cakephp-plugin
pkg:composer/dereuromark/cakephp-expose
Requires
- php: >=8.2
- cakephp/cakephp: ^5.1.1
Requires (Dev)
- ext-bcmath: *
- brick/math: ^0.13.0 || ^0.14.0
- fig-r/psr2r-sniffer: dev-master
- keiko/uuid-shortener: ^1.2.0
- phpunit/phpunit: ^11.5 || ^12.1 || ^13.0
- ramsey/uuid: ^3.9 || ^4.7
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.0
- 1.5.1
- 1.5.0
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- 1.0.0-rc
- 1.0.0-beta
- dev-cake6
- dev-maintenance/cake6-runtime
- dev-maintenance/cake6-typed-finders
- dev-maintenance/released-finder-contract
- dev-ci/i18n-lint
- dev-maintenance/superimpose-condition-compatibility
- dev-maintenance/cake5-docs-cleanup
- dev-cake4
This package is auto-updated.
Last update: 2026-10-11 22:30:12 UTC
README
Use UUIDs as public identifiers while keeping integer primary keys for internal relations. The default UUIDv4 generator does not encode record creation time or order. Your application controls entity accessibility and authorization.
Read the documentation website:
Package requirements are maintained in composer.json. For older CakePHP branches, see the version map.
Example
$articles->addBehavior('Expose.Expose'); $article = $articles->newEntity(['title' => 'First article']); $articles->saveOrFail($article); $found = $articles->find('exposed', uuid: $article->uuid)->firstOrFail();
Add a UUID schema column and protect its entity accessibility first, as shown in Getting started. The UUID is generated on saving a new entity; the ordinary primary key remains available internally.
Sandbox examples show public lookups in an application.