codeit / base
CodeIT Laminas base utilities, cache, validators, forms, and MVC helpers.
Requires
- php: >=8.1
- ext-json: *
- ext-mbstring: *
- laminas/laminas-cli: ^1.15
- laminas/laminas-db: ^2.21
- laminas/laminas-eventmanager: ^3.13
- laminas/laminas-filter: ^2.38
- laminas/laminas-form: ^3.22
- laminas/laminas-http: ^2.21
- laminas/laminas-inputfilter: ^2.30
- laminas/laminas-mvc: ^3.8
- laminas/laminas-router: ^3.14
- laminas/laminas-servicemanager: ^3.22 || ^4.4
- laminas/laminas-validator: ^2
- laminas/laminas-view: ^2.37
- psr/container: ^1.1 || ^2.0
Requires (Dev)
- phpunit/phpunit: ^10.5 || ^11.0 || ^12.0
- squizlabs/php_codesniffer: ^3.10
Suggests
- ext-redis: Required when using CodeIT\Cache\RedisWrapper.
Provides
None
Conflicts
None
Replaces
None
- dev-master
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.0
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.15
- 0.3.14
- 0.3.13
- 0.3.12
- 0.3.11
- 0.3.10
- 0.3.9
- 0.3.8
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.12
- 0.2.11
- 0.2.10
- 0.2.9
- 0.2.8
- 0.2.7
- 0.2.6
- 0.2.5
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.15
- 0.1.13
- 0.1.12
- 0.1.11
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- dev-feature/cached-find
- dev-dev-alex
- dev-alex
This package is auto-updated.
Last update: 2026-09-16 13:25:24 UTC
README
Reusable CodeIT base utilities for Laminas applications.
Requirements
- PHP
^8.1 - Laminas MVC
^3.8 - Current Laminas component packages for DB, forms, filters, validators, view helpers, and service manager
The package intentionally allows PHP 8.1+ instead of pinning to PHP 8.3/8.4. Applications can run it on PHP 8.3 while libraries and CI can still cover PHP 8.1 and 8.2 where the Laminas dependency set supports them.
What Changed In 2.0
- Zend Framework namespaces were migrated to Laminas namespaces.
zendframework/*dependencies were replaced withlaminas/*.- Existing
Application\*integration points are preserved for backward compatibility. - The legacy user creation command was ported to
laminas-cli. - Controllers accept
Psr\Container\ContainerInterface. - PHPUnit configuration and unit tests were added.
Console Commands
The user creation command is registered for laminas-cli:
vendor/bin/laminas user:create user@example.com secret-password admin
The command preserves the legacy create-user contract: email, password, and optional level.
Applications that have a password field or password setter on Application\Model\User receive the password through setData().
SSO-only applications can ignore it at the model/schema level.
ACL
CodeIT\ACL\Authentication keeps using Application\Lib\Acl and the existing call(string $method, array $args) ACL API.
Documentation
- CodeIT Base Reference describes the package structure, controllers, ACL integration, cache services, table models, form classes, and view helpers.
Tests
composer install
composer cs
composer test
composer test also runs tests/Smoke, which exercises AppTable/CachedTable
against a real database (admin vs. client $publicOnly reads, and writes that
must invalidate the cache) instead of the stubs the rest of the suite uses. It
skips itself when no database is reachable.
docker compose up -d # MariaDB on localhost:3306, Redis on localhost:16379 composer test:smoke SMOKE_DB=sqlite composer test:smoke # no docker: in-memory SQLite instead SMOKE_CACHE=redis SMOKE_REDIS_PORT=16379 composer test:smoke # cache reads/invalidation through real Redis (needs ext-redis)
Coding Standard
All hand-maintained PHP source and tests must follow PSR-12. Run composer cs before committing and
composer cs:fix for safe mechanical formatting.