Download the PHP
package tarantool/mapper without Composer
On this page you can find all versions of the php package
tarantool/mapper. It is possible to download/install
these versions without Composer. Possible dependencies are resolved
automatically.
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.
Supported versions are php 8+ and tarantool 2+.\
The recommended way to install the library is through Composer:
Usually, you manage dependencies in your service provider.\
To get started you should create client instance and pass it to mapper constructor.\
In this example we use PurePacker and StreamConnection.\
To see other implementations please check client documentation
Schema management
To get started you should describe your spaces, their format and indexes.
Working with the data
Now you can store and retreive data from tarantool storage using mapper instance.
Schema Cache
Any new mapper instance will fetch schema from the tarantool, this requests can takes a bit of database load.\
Use your favorite psr/cache implementation to persist schema on the application side.\
For example, we use apcu adapter from symfony/cache package.\
If new schema version is not persisted in cache, mapper will fetch it
Query Cache
If you don't want to repeat select queries you can inject cache interface implementation to space.\
Use your favorite psr/cache implementation to persist schema on the application side.\
For example, we use array adapter from symfony/cache package.
Changes registration
In some cases you want to get all changes that were made during current session.\
By default spy configuration is set to false, this improves performance a bit.
Multiple connections
If you split your data across multiple tarantool instances you can use prefix based data api.\
Api is the same but you prefix space name with a connection prefix.
Lua code delivery
Iproto usage is very powerful but sometimes is not enough.\
You can easily execute lua code and pass local variables using associative array.
In addition, if you don't want to deliver it every request, use magic call method.\
When you use call method, mapper generates unique function name and creates it if it's not exist.
Migrations
Use basic migration class to implement some logic before or after schema creation.\
Pass migrations to mapper migrate method and that's all.
Performance
We can calculate mapper overhead using getInstance method that is called per each instance.\
If you don't use cache, there is single schema fetch on connection and each time schema is upgraded.\
Perfomance test was made on (AMD Ryzen 5 3600X), Ubuntu 23.10 using PHP 8.3.6
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 tarantool/mapper contains the following files
Loading the files please wait ....
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.