Download the PHP package dirthara/entity without Composer

On this page you can find all versions of the php package dirthara/entity. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package entity

Dirthara Entity

Entities for the Dirthara framework. Describe a class with attributes and read or write its table through a typed store, with every value crossing the boundary through a converter.

Installation

The package requires PHP 8.5, dirthara/database ^0.2 and dirthara/collection ^0.1, which Composer installs for you. The database package owns the connections, drivers and query builder; this one maps classes onto them. It never touches PDO itself, but that package does, so each database needs its own PDO extension: pdo_mysql, pdo_pgsql, pdo_sqlite, or pdo_sqlsrv.

Usage documentation lives in docs, which is published as a Docusaurus site by a separate package.

Docker development environment

Requires Docker with Docker Compose. The development image provides PHP 8.5 CLI, Composer 2.10.3, Mago 1.47.3, Xdebug, and a PDO driver for every database the package supports: pdo_sqlite, pdo_mysql, pdo_pgsql, and pdo_sqlsrv.

The container runs as the non-root developer user. The build arguments LOCAL_UID and LOCAL_GID default to 1000; the command above uses your host IDs so generated files remain editable. Set PHP_VERSION to override the default 8.5 image. Rebuild when the Dockerfile or build arguments change.

docker compose up -d php also starts PostgreSQL, MySQL, and SQL Server and waits until each reports healthy, because the tests run against every driver the package supports. The first start pulls roughly a gigabyte of images, and SQL Server takes around thirty seconds to accept connections. The SQL Server image is published for amd64 only, so its tests skip on an arm64 host.

Open a shell or stop the environment with:

Tests

Tests belong in tests, under Dirthara\Entity\Tests. Source belongs in src, under Dirthara\Entity.

Most of the suite maps classes and asserts on the result, which needs no server. Behaviour that needs a real database belongs in tests/Integration, where one conformance suite runs against every driver: writing a row, reading it back, and checking what each driver reports for a converted column. What a driver answers with for a boolean or a float cannot be judged without one.

SQLite runs in memory and always runs; the PostgreSQL, MySQL, and SQL Server suites skip when their PDO driver is missing, and read their connection from DIRTHARA_POSTGRES_*, DIRTHARA_MYSQL_*, and DIRTHARA_SQLSRV_* (_HOST, _PORT, _DATABASE, _USERNAME, _PASSWORD), defaulting to the services in compose.yaml.

Code quality

Run the same checks as CI:

Run individual checks:

composer mago runs the formatting, import-order, lint, analysis, and architecture checks. composer ci also runs tooling tests, unit tests, and the coverage gate. The architecture rules in mago.toml keep the mapping, hydration, type, and naming layers free of any dependency on the database packages, require every class that is not an abstract base to be final, and require every exception to implement EntityException and use the HasExceptionContext trait.

Apply formatting and import sorting with composer fmt, or include automatic lint fixes with composer cs:

composer cs includes potentially unsafe lint fixes; review its changes.

Run coverage separately with:

Xdebug is inactive by default and enabled for the coverage run. The report is written to build/coverage/clover.xml. The gate requires 100% line coverage of src and lists uncovered lines.

Contributing

Each supported version has its own branch, beginning with 0.1; there is no main. See CONTRIBUTING.md for branching, release, and pull request requirements, and AGENTS.md for agent instructions.

Security

Report vulnerabilities through GitHub's private advisory form. See SECURITY.md for the reporting process and scope.

License

Copyright (c) 2026 Dirthara. Released under the MIT License.


All versions of entity with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
dirthara/collection Version ^0.1
dirthara/database Version ^0.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package dirthara/entity contains the following files

Loading the files please wait ...