Download the PHP package vitexsoftware/ease-core without Composer
On this page you can find all versions of the php package vitexsoftware/ease-core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vitexsoftware/ease-core
More information about vitexsoftware/ease-core
Files in vitexsoftware/ease-core
Package ease-core
Short Description An PHP Framework for writing Applications
License MIT
Homepage http://v.s.cz/ease.php
Informations about the package ease-core
EasePHP Framework Core
Object oriented PHP Framework for easy&fast writing small/middle sized apps.
Overview
EasePHP Framework Core is a small, dependency-light runtime library for building CLI and web applications in PHP. It provides:
- a set of base classes for your domain objects (Atom ➝ Molecule ➝ Sand ➝ Brick),
- a flexible, multi-sink logging pipeline (memory, console, file, syslog, std, eventlog),
- a simple but powerful configuration layer (constants/ENV/.env/.json) via Ease\Shared,
- gettext-based internationalization helpers (Ease\Locale),
- user abstractions (Ease\Anonym, Ease\User), and
- pragmatic utilities (Ease\Functions) and a Mailer built on PEAR Mail/Mail_mime.
Works standalone or as the core of the broader EasePHP ecosystem. Autoloading follows PSR-4:
- "Ease\" ➝ src/Ease
- "Ease\Logger\" ➝ src/Ease/Logger
Key features
- Base object model
- Atom: minimal base with object naming and draw().
- Molecule: property setup helpers from options/ENV/constants.
- Sand: data holder with typed helpers; integrates logging via trait.
- Brick: adds record identity (id/name/array/reuse) through recordkey trait.
- Logging
- Regent aggregator dispatches to memory/console/file/syslog/std/eventlog; configure via EASE_LOGGER (pipe-separated).
- Console logger features internationalized date formatting with graceful fallback for maximum reliability.
- Comprehensive error handling ensures logging never crashes your application.
- Internationalization (i18n)
- Gettext domain binding, locale selection (request/session/browser/ENV), and helper APIs.
- Configuration
- Shared::cfg reads constants then ENV; loadConfig supports .json and .env.
- Users and identity
- Anonymous and User implementations with login/password helpers and Gravatar.
- Utilities
- URL helpers, transliteration, AES-256-CBC encrypt/decrypt, randoms, human-readable sizes, UUIDv4, JSON/serialization checks, namespace class loader, etc.
Requirements
- PHP >= 7.0 (tested up to PHP 8.4)
- ext-intl (optional but recommended for internationalized date formatting)
- PEAR packages: pear/mail, pear/mail_mime (Mailer)
Note: The framework gracefully handles missing or misconfigured internationalization extensions.
Quick start
Configuration
Common ways to configure EaseCore:
-
PHP constants (highest precedence)
-
Environment variables
- .env or JSON file
Frequently used keys: EASE_APPNAME, EASE_LOGGER, EASE_FROM, EASE_SMTP, LOG_DIRECTORY, LOG_FLAG, LOG_FACILITY.
Installation
Composer:
composer require vitexsoftware/ease-core
Docker:
This repository includes a minimal Docker build primarily for packaging/distribution (it places the library under /usr/share/php/Ease*). For application development, prefer installing via Composer.
-
Build image locally:
make dimage
- Note: The image is not intended as a full runtime base; it contains the library files for packaging purposes.
Framework Constants
- EASE_APPNAME - common name of application. Mainly used in logs. (APP_NAME is also recoginsed)
- EASE_LOGGER - one of memory,console,file,syslog,email,std,eventlog or combination eg. "console|syslog"
- EASE_EMAILTO - recipient email address for Ease/Logger/ToMail
- EASE_SMTP - Custom SMTP Settings (JSON Encoded)
- EASE_FROM - Sent mail sender address
- LOG_DIRECTORY - destination for ToFile logger
- LOG_OPTION - syslog option argument
- LOG_FACILITY - syslog facility argument
Logging
You can use any combination of this logging modules:
- memory - log to array in memory
- console - log to ansi sequence capable console with internationalized timestamps
- file - log to specified file
- syslog - log to linux syslog service
- email - send all messages to constant('EASE_EMAILTO') at end
- std - write messages to stdout/stderr
- eventlog - log to Windows eventlog
Reliability Features:
- Console logger automatically falls back to standard PHP date formatting if IntlDateFormatter fails
- Comprehensive error handling prevents logging failures from crashing your application
- All loggers are extensively tested with edge cases and error scenarios
Testing
Run the PHPUnit test suite locally:
When installed from the Debian dev package, tests (including i18n assets) can be executed with:
Building
Simply run make deb
Recent Updates
Version 1.49.1 (October 2025)
Logger Reliability Improvements:
- Fixed IntlDateFormatter Fatal Error: Resolved
"Found unconstructed IntlDateFormatter"crashes in console logger - Graceful Fallback: Console logger now automatically falls back to standard PHP date formatting when internationalization fails
- Enhanced Error Handling: Added comprehensive exception handling for
ValueErrorandErrorcases - Improved Type Safety: Full PHPStan level 8 compliance with proper type annotations
- Extended Test Coverage: Added tests for edge cases including invalid locales, null values, and error scenarios
Documentation Updates:
- Updated PHPDoc comments from Czech to English
- Added detailed method and property documentation
- Enhanced code examples and usage patterns
Links
Homepage: https://www.vitexsoftware.cz/ease.php
GitHub: https://github.com/VitexSoftware/ease-core
phpDocumentor: http://vitexsoftware.cz/php-ease-core/
All versions of ease-core with dependencies
ext-intl Version *
pear/mail Version >=2.0.0
pear/mail_mime Version >=1.10.12
composer-runtime-api Version *


