Download the PHP package wtsvk/evitadb-php-client without Composer

On this page you can find all versions of the php package wtsvk/evitadb-php-client. 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 evitadb-php-client

evitadb-php-client

PHP gRPC client for EvitaDB — generated stubs + a thin session-based wrapper for managing read/write sessions.

Installation

System requirements:

Usage

The client has two layers: EvitaDbConnection for server-level operations, and EvitaDbClient for catalog-scoped data access.

Quick start

Connection + catalog split

For Laravel apps, register singletons in your AppServiceProvider:

Transactions

All data access goes through writeTransaction() and readTransaction(). Each call opens one gRPC session for the duration of the callable, giving you a consistent snapshot for reads and one server-side transaction for writes.

getEntity() throws EvitaDbEntityNotFoundException if the entity is missing; use findEntity() if null is an acceptable outcome.

Rollback semantics

EvitaDB's gRPC Close() RPC has no rollback flag — calling it always commits. The PHP client therefore handles the two paths differently:

Commit behavior

Control how long the gRPC close call blocks before returning:

EntityFetch — control what content is returned

By default the server returns identity-only entities (no attributes, prices, or references). Pass an EntityFetch to ask for specific content. Pass EntityFetch::all() for everything.

QueryBuilder — filtering and ordering

Testing your application

The package ships with EvitaDbMockClient and MockEvitaDbConnection for unit-testing application code:

The mock auto-assigns primary keys for upsertEntity() (start with $client->nextPrimaryKey = 1000 to mimic existing data). Strict mode: any call without a matching stub throws — fail loud, not silent. See tests/Unit/Testing/EvitaDbMockClientTest.php for full API examples.

EvitaDB version compatibility

This package follows independent semver. The targeted EvitaDB version is recorded in composer.json extra.evitadb-version. Wrapper-only fixes/refactors bump the package version (patch or minor) without changing the EvitaDB target — they don't get a row here.

Each row in the matrix below marks the first package version that introduced support for the listed EvitaDB version. Every later package release until the next row keeps the same EvitaDB target.

Package EvitaDB
0.2.x 2026.1.8
0.1.x 2026.1.7

For a specific EvitaDB version, pin the package version that matches (e.g. ^0.2 if you target EvitaDB 2026.1.8).

Architecture

Maintenance scripts

GitHub Actions automates this via auto-update-evitadb.yml (daily cron) which detects new EvitaDB releases and opens a PR with regenerated stubs.

License

Apache 2.0. See LICENSE.

EvitaDB itself is licensed under the Business Source License 1.1, converting to Apache 2.0 on 2027-01-01. The .proto files in this package are interface definitions extracted from the EvitaDB JAR — derivative work that should be permissible under BSL's "make non-production use" + "modify" grants for an interop client. Consult EvitaDB's LICENSE for authoritative terms.


All versions of evitadb-php-client with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
ext-grpc Version *
ext-protobuf Version *
google/common-protos Version ^4.1
google/protobuf Version ^5.34
grpc/grpc Version ^1.80
webmozart/assert Version ^2.3
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 wtsvk/evitadb-php-client contains the following files

Loading the files please wait ...