[ 
https://issues.apache.org/jira/browse/IGNITE-7783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikolay Izhikov updated IGNITE-7783:
------------------------------------
    Fix Version/s: 2.7

> Thin Client lib: PHP
> --------------------
>
>                 Key: IGNITE-7783
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7783
>             Project: Ignite
>          Issue Type: New Feature
>          Components: thin client
>            Reporter: Alexey Kosenchuk
>            Assignee: ekaterina.vergizova
>            Priority: Major
>             Fix For: 2.7
>
>
> Implement Thin (lightweight) Client lib in PHP programming language for 
> Ignite Binary Client Protocol.
> Functionality:
>  --------------
> Support all operations of the Ignite Binary Client Protocol 2.6:
>  [https://apacheignite.readme.io/v2.6/docs/binary-client-protocol]
> Except the following features which are not applicable to PHP client:
>  - Filter object for OP_QUERY_SCAN operation (OP_QUERY_SCAN operation itself 
> will be supported).
>  - OP_REGISTER_BINARY_TYPE_NAME and OP_GET_BINARY_TYPE_NAME operations.
>  - Registration of a new Ignite Enum type (reading and writing items of the 
> existing Ignite Enum types will be supported).
> Additionally support:
>  - SSL/TLS connection.
>  - "Failover re-connection algorithm": 
> https://issues.apache.org/jira/browse/IGNITE-7282
> Ignite Binary Client Protocol handshake versions: 1.1.0 only.
> Minimal required PHP version: 7.2
>  [http://php.net/supported-versions.php]
> PHP code-style standards: [https://www.php-fig.org/psr/]
> Synchronous API will be supported (asynchronous operations are not supported 
> by the standard PHP).
> The API will not be thread-safe (threads are not available in the standard 
> PHP; pthreads extension is not available for the latest PHP version; 
> thread-safety is possible to support by an application).
> Examples:
>  ---------
> The set of examples will cover:
>  - cache get/create/destroy operations
>  - cache put/get operations
>  - SQL operations (create table/index, insert/select/drop)
>  - SQL Fields query and Scan query
>  - Authentication and TLS connection
>  - working with primitive and complex data types
> Tests:
>  ------
> PHPUnit tests [https://phpunit.de|https://phpunit.de/] for all API methods 
> and all basic features. Including simple tests to start examples.
>  Tests will be integrated into the TeamCity with the help from the community.
> Docs:
>  ------
> The provided docs will include:
>  - Auto-generated API spec using Doxygen: 
> [http://www.doxygen.org|http://www.doxygen.org/]
>  - Instruction how to generate the API spec.
>  - Instruction how to release PHP library on Packagist: 
> [https://packagist.org/]
>  - Readme for user with info how to install and use the client.
>  - Simple instruction how to setup/run examples.
>  - Simple instruction how to setup/run tests.
> All docs will be provided separately from the source code and will not be 
> merged to the target repository. Before the release all instructions and 
> readme will be moved to the readme.io with the help from the community.
> Release:
>  --------
> Location of the client:
>  <Apache_Ignite>/modules/platforms/php
> Will be released as PHP library on Packagist: [https://packagist.org/] by the 
> community.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to