Search by

tinymvc / tinycore

dev.shahin

Core Classes of TinyMVC Framework

Package info

github.com/tinymvc/tinycore

pkg:composer/tinymvc/tinycore

Statistics

Installs: 1 557

Dependents: 8

Suggesters: 0

Stars: 5

Open Issues: 0

v4.2.23 2026-11-11 05:02 UTC

README

TinyCore (tinymvc/tinycore) is the PHP runtime for TinyMVC / Spark, providing framework services under the Spark\ namespace.

PHP License Tests

Start an application with Skeleton:

composer create-project tinymvc/skeleton myapp

Framework documentation ยท Core development instructions

Development

The bundled TinyMVC Spark skill ships with Composer releases. Maintain its affected references alongside public API changes; keep application conventions in the application's AGENTS.md.

php skills/tinymvc-spark/scripts/api-lookup.php upsert --source=src

Application developers run the same tool from their application root:

php vendor/tinymvc/tinycore/skills/tinymvc-spark/scripts/api-lookup.php upsert

Tests

Clone this repository and run composer install. Release archives omit tests/ but retain the Spark\Testing APIs.

php tests/run.php                        # Full suite; also composer test
php tests/run.php --filter TranslatorTest
php tests/database.php                   # Requires MySQL and PostgreSQL
SPARK_TEST_TABLE_PREFIX=app_ php tests/database.php

Verified on 2026-11-08 with PHP 8.4.27.

Checks Passed Skipped Assertions
Full suite 1,387 0 7,416
Database scenarios, per engine/prefix 474 0 1,335

All 1,387 tests passed, including Redis, PostgreSQL, MySQL, and real HTTP integration checks. Each database run repeated the same 474 scenarios on SQLite, MySQL, or PostgreSQL with an empty or app_ table prefix.

Coverage

Area Main checks
Database and ORM Prefixes, schema/constraints, transactions/savepoints, bindings, scoped writes, model identity and connection retention, casts, soft deletes, relations/pivots, aggregates, and pagination
Cache and locks File/database/Redis contracts, helper array writes, expiration and nulls, atomic counters, namespaces, manager lifecycle, independent owners, contention/timeouts, ownership transfer, lease extension/inspection, and safe clearing
Queues and sessions Named connections, claims, deduplication, retries/failures, stale reservations, worker restarts, persistence/expiry, flash data, and invalidation
HTTP and validation Routing, request lifecycle, PSR integration, proxies, middleware, responses/resources, validation boundaries, uploads, and real HTTP client/session transport
Authentication Guards, gates, password/encryption helpers, JWT tokens, revocation, and CSRF
Storage Local filesystem boundaries, upload handling, S3 signing, pagination, and failed/partial transfers through local fixtures
Events and telemetry Wildcard payloads, priorities, one-time listeners, nested dispatch, lazy payloads, observer failure/recursion isolation, HTTP sends/downloads/prepared requests/pools, and service/lifecycle hooks
Core services Blade, container/providers, CLI boot, configuration/environment caching, Tracer logging/error handling, Tinker, dates/localization, URLs, subprocesses, and concurrency