teknoo/immutable
teknoo/immutable helps PHP and Laravel developers build immutable value objects and data structures, reducing accidental state changes and making code easier to reason about, test, and maintain. Lightweight, framework-agnostic, and simple to drop into existing projects.
|
Package
|
Score
|
Description
|
Stars
|
Likes
|
Forks
|
Downloads
|
Issues
|
Score
|
Opportunity
|
License
|
Last Release
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| phpno1/architecture | 0.85 | A Laravel/PHP package for applying clean architecture principles in real projects. It provides conventions and tooling to organize code into clear layers, reduce coupling, and keep applications consistent, testable, and easier to maintain as they grow. Designed to make architecture decisions explici... | 63 | 63 | 5 | 1 | 0 | 0.5 | 0.1 | NOASSERTION | 8 years ago | |
| teknoo/states | 0.83 | Teknoo States provides a simple, extensible finite state machine implementation for PHP. Model objects with states and transitions, define allowed changes, and trigger callbacks on entry, exit, or transition events—useful for workflows, order processing, and status management. | 10 | 11 | 2 | 775 | 0 | 0.1 | 25.6 | BSD-3-Clause | — | |
| widmogrod/php-functional | 0.83 | Functional programming toolkit for PHP with immutable data structures, monads and typed abstractions. Includes Option/Either/Try, collections, pattern matching, and helpers for safer, composable code. Useful for DDD, CQRS and FP-style application architecture. | 369 | 374 | 32 | 264K | 7 | 9.0 | 41.4 | MIT | 1 year ago | |
| cubicmushroom/valueobjects | 0.83 | A small PHP package providing lightweight Value Object classes to model immutable domain values (e.g., IDs, money, email, dates) with validation and type-safety. Useful for cleaner Laravel apps and DDD-style codebases. | 0 | 0 | 0 | 0 | 0 | 0.0 | — | MIT | — | |
| spatie/value-object | 0.83 | Deprecated Spatie package for PHP 8+ data transfer objects. Create typed DTOs from arrays with casting, validation, and attribute mapping (e.g., nested keys). Consider migrating to spatie/laravel-data or cuyz/valinor. | 2,221 | 2,223 | 187 | 0 | 0 | 12.9 | — | MIT | 4 years ago | |
| dothiv/dothiv-valueobject-bundle | 0.83 | Symfony bundle providing a set of reusable value objects for Dothiv projects, aimed at consistent domain modeling and type-safe primitives. Includes common immutable objects and utilities to share across services and applications. | 1 | 1 | 0 | 0 | 0 | 0.0 | — | MIT | — | |
| tdn/php-types | 0.83 | A small PHP utility for working with types: safely cast values, validate data against expected types, and normalize scalars, arrays and objects. Lightweight and framework-agnostic, it drops easily into Laravel or any Composer project. | 7 | 8 | 0 | 45 | 0 | 0.0 | 8.0 | NOASSERTION | 11 years ago | |
| phpoption/phpoption | 0.83 | The Option type for PHP: a lightweight library that makes nullable return values explicit with Some and None classes. It forces developers to handle both cases, reducing fatal errors from calling methods on null while enabling more concise APIs. | 2,665 | 2,689 | 67 | 24M | 0 | 38.5 | 62.3 | Apache-2.0 | 2 months ago | |
| romanzipp/dto | 0.83 | Lightweight data transfer objects for PHP and Laravel. Define typed properties, cast and validate values, and convert DTOs to and from arrays with ease, keeping request and response data structured and type-safe. | 12 | 12 | 1 | 337 | 1 | 0.2 | 19.7 | MIT | — | |
| kdyby/strict-objects | 0.83 | kdyby/strict-objects provides a PHP trait that makes objects strict: reading or writing undeclared properties throws an exception instead of silently creating dynamic ones. It catches typos and enforces explicit property declarations in Nette projects. | 31 | 32 | 11 | 11K | 0 | 0.5 | 35.3 | NOASSERTION | 5 years ago | |
| scrumble-nl/popo | 0.83 | Popo is a Laravel package for generating plain old PHP objects (POPOs) from Eloquent models, giving you lightweight, framework-independent data containers that keep application layers clean and decoupled, with simple Artisan commands and an expressive API. | 5 | 5 | 2 | 962 | 0 | 19.5 | 35.6 | — | 3 weeks ago | |
| juststeveking/parameterbag | 0.83 | A simple, framework-agnostic parameter bag for PHP. Wrap arrays of data in a typed object and access, validate, and manipulate values through a clean, readable API—ideal for request parameters, configuration, or DTO-style payloads. | 5 | 5 | 1 | 3K | 1 | 0.7 | 37.5 | — | 5 years ago | |
| mkoprek/request-validation-bundle | 0.83 | A validation bundle for PHP applications that applies rules to incoming HTTP request data, helping you reject malformed or missing input before it reaches your controllers. Define rules once and get consistent validation behavior and error responses across your request handling. | 0 | 0 | 2 | 0 | 0 | 0.1 | — | MIT | 3 years ago | |
| sebastian/object-reflector | 0.82 | sebastian/object-reflector lets you reflect an object's properties, including inherited, private, and protected ones. Install it via Composer to inspect and access object state that PHP's default reflection utilities don't easily expose. | 6,271 | 6,277 | 3 | 25M | 1 | 41.8 | 56.4 | BSD-3-Clause | 2 months ago | |
| romanzipp/laravel-dto | 0.82 | A lightweight base class for building Data Transfer Objects in Laravel. Define typed properties, cast nested DTOs and collections, and hydrate from arrays or requests, giving your app predictable, self-validating data objects instead of loose arrays. | 11 | 11 | 2 | 128 | 1 | 0.3 | 14.7 | MIT | — | |
| innmind/immutable | 0.82 | Innmind/Immutable provides persistent, immutable collections for PHP, including sequences, sets, maps, and streams. It offers a functional API with lazy operations, structural sharing, and type-safe wrappers for predictable, side-effect-free data manipulation. | 75 | — | 4 | — | 2 | 16.4 | — | MIT | 2 months ago |
|
| isolate/isolate | 0.82 | Isolate is a PHP/Laravel package for running code in isolated contexts, including database transactions. It lets you safely execute callbacks, tests, and experiments, then roll back changes automatically so your data stays clean and your workflow predictable. | 31 | 32 | 1 | 0 | 0 | 0.5 | — | MIT | 11 years ago | |
| shipmonk/phpstan-rules | 0.82 | ShipMonk PHPStan strict rules adds about 40 opinionated, super-strict checks beyond native PHPStan, targeting gaps like unsafe comparisons, casts, and array keys. Install via Composer, include rules.neon, and disable or reconfigure any rule per project. | 156 | 158 | 23 | 376K | 1 | 30.2 | 55.9 | MIT | 1 month ago | |
| php-standard-library/os | 0.82 | Detect the operating system in a type-safe way using PHP Standard Library's OperatingSystemFamily enum. Part opf the php-standard-library project, this small package gives you a clean, enum-based API for OS detection instead of fragile string checks. | 0 | 0 | 0 | 3K | 0 | 21.6 | 56.8 | MIT | 1 week ago | |
| etsglobal/php-static-analysis | 0.82 | A PHP static analysis package from ETS Global for inspecting PHP codebases and supporting code quality workflows. Integrates into Laravel/PHP projects to help surface potential issues, encourage cleaner code, and complement existing test and CI pipelines with additional static checks. | 0 | 0 | — | 50 | — | 0.0 | 23.6 | — | — |
How can I help you explore Laravel packages today?