PHPackages                             pjplonka/leaf-cmf-core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. pjplonka/leaf-cmf-core

ActiveLibrary

pjplonka/leaf-cmf-core
======================

Core package for LeafCMF

v0.0.6(1y ago)041[1 PRs](https://github.com/pjplonka/leaf-cmf-core/pulls)MITPHPPHP ^8.2

Since Dec 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/pjplonka/leaf-cmf-core)[ Packagist](https://packagist.org/packages/pjplonka/leaf-cmf-core)[ RSS](/packages/pjplonka-leaf-cmf-core/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (4)Versions (9)Used By (0)

Assumptions
-----------

[](#assumptions)

Interfaces:

- ConfigurationProvider
- Elements (Element Repository)
- EventDispatcher

### Packages

[](#packages)

- [Symfony validator](https://symfony.com/doc/current/components/validator.html) is required and can not be replaced.
    All validation rules must be provided from [Symfony Validator Constraints list](https://symfony.com/doc/current/validation.html#basic-constraints).
- Uuid Interface is provided by [symfony/uid package](https://symfony.com/doc/current/components/uid.html)
- Only [DateTimeImmutable](https://www.php.net/manual/en/class.datetimeimmutable.php) objects are used

Makefile
--------

[](#makefile)

### Examples:

[](#examples)

#### Composer

[](#composer)

Install composer packages:
`make composer:install`

Require composer package:
`make composer:require p=symfony/validator`

#### Tests

[](#tests)

`make tests:run`
or with filter:
`make tests:run f=CreateElementHandlerTest`

#### Stan

[](#stan)

`make stan`

TODO:
-----

[](#todo)

- Add assertions to every field type (e.g. StringType must contain StringValue which checks base validation rules like `is_string` or `max_length=200`) and for element (e.g. field name cannot be duplicated)
- configuration validator + ConfigurationIsInvalidException
- encryption for field on demand (in configuration)
- element `name` property should be changed to something like group, band or something
- every field should have own constraints instead of holding it in configuration array (and configuration can hold additional constraints)
- add some TestField to use it in tests to not use real field
- what about read model? do we need any bus for it?
- write more about makefile in readme
- fields should contain basic constraints (eg. string must be string and max length is 255)
- FieldsDtoValidator: rename this class + validate configuration field type (type can be invalid e.g. not exist)
- FieldsDtoValidator should be a default one for usage
- transactional manager interface?
- add assertion class
- validation failed exception could be used form symfony package
- test for empty constraints (allowMissingFields) is set to true
- when tests are run in docker it creates container and it is not reusable (every time make run:tests is run, new container is created)

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance41

Moderate activity, may be stable

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~44 days

Recently: every ~59 days

Total

7

Last Release

615d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b3767cfe2ba5d127ca6dceb6845fcc7857daf6ae7fbcfb804430a0e76b363194?d=identicon)[pjplonka](/maintainers/pjplonka)

---

Top Contributors

[![pjplonka](https://avatars.githubusercontent.com/u/54636845?v=4)](https://github.com/pjplonka "pjplonka (8 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pjplonka-leaf-cmf-core/health.svg)

```
[![Health](https://phpackages.com/badges/pjplonka-leaf-cmf-core/health.svg)](https://phpackages.com/packages/pjplonka-leaf-cmf-core)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M647](/packages/sylius-sylius)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k16.7M309](/packages/easycorp-easyadmin-bundle)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[contao/core-bundle

Contao Open Source CMS

1231.6M2.3k](/packages/contao-core-bundle)[web-auth/webauthn-framework

FIDO2/Webauthn library for PHP and Symfony Bundle.

50570.7k1](/packages/web-auth-webauthn-framework)[api-platform/serializer

API Platform core Serializer

223.4M31](/packages/api-platform-serializer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
