GithubHelp home page GithubHelp logo

classicvalues / pecl-database-mysql_xdevapi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from php/pecl-database-mysql_xdevapi

1.0 1.0 0.0 5.2 MB

PECL MySQL X DevAPI

Home Page: https://pecl.php.net/package/mysql_xdevapi

License: Other

Makefile 0.11% C++ 80.83% M4 0.63% JavaScript 0.93% PHP 15.65% C 1.61% SWIG 0.23%

pecl-database-mysql_xdevapi's Introduction

MySQL X DevAPI for PHP
======================

This PHP Extension provides MySQL's X DevAPI. The X DevAPI is a new CRUD-style
API for accessing MySQL as a Document Store. It is based on the MySQL 8's X
protocol and unifies JSON document and table access, and it includes SQL
support. The API features a popular fluent interface style and aims to be
particularly easy to use yet powerful. The X DevAPI sees wide cross product
support. Developers can use the same syntax and rely on the existence of
virtually the same feature set in may products they work with on a day to
day basis.

The X DevAPI combines elements of the relational database model with elements
of storing JSON documents. Working with schemaless data serialized in JSON has
become very popular in recent years. Schema flexibility allows data-first
development models. For example, application developers do not need to define
the very details of the data to be stored before it can be saved, customers
can model applications using an iterative approach, defining the details along
the way when they work with the developers. In other areas a mode-first
development model may fit the brief better. The X DevAPI supports both working
with schemaful relational tables and schemaless collections of JSON documents.

The X DevAPI abstracts the notion of a connection to that of a session. A
session encapsulates physical connections. This concept is crucial for
any environment where the creation, selection and life span of a physical
connection shall not be a concern of the application developer.

To learn more about the details of the X DevAPI refer to the documentation on
http://dev.mysql.com/doc/x-devapi-userguide/en/

To learn more about MySQL as a Document Store efer to documentation on
http://dev.mysql.com/doc/refman/8.0/en/document-store.html


Installation
------------

This extension depends on PHP 7.1 or newer. For general installation instructions
for PHP extensions see http://php.net/install.pecl

In addition to PHP's dependencies, Google's Protocol Buffer and boost libraries
are required. On any Linux-based systems a package called libprotobuf-dev or
similar is required.

Further hints for installing this module:
http://php.net/manual/en/mysql-xdevapi.setup.php


Documentation
------------

Documentation is available at:
http://php.net/manual/en/book.mysql-xdevapi.php


Supported X DevAPI features
---------------------------
- collections API - add, find, modify, remove
- collection single doc API - getOne, replaceOne, addOrReplaceOne, removeOne
- new document _id generation
- authentication modes: MYSQL41, PLAIN, EXTERNAL, SHA256_MEM
- table API - insert, select, update, delete
- row locking for Collection.Find / Table.Select, also modes NOWAIT and SKIP LOCKED
- collection / table - getName, existsInDatabase, count
- collection index - create, drop
- resultsets / multi-resultsets
- getCollection(s) / getTable(s) / getCollectionAsTable
- drop schema / collection
- connection pooling
- DNS SRV support
- connection compression
- schema validation to create collection

For a simple use cases see examples.php or tests/*.phpt

License
-------
Copyright (c) The PHP Group

This source file is subject to version 3.01 of the PHP license,
that is bundled with this package in the file LICENSE, and is
available through the world-wide-web at the following url:
http://www.php.net/license/3_01.txt
If you did not receive a copy of the PHP license and are unable to
obtain it through the world-wide-web, please send a note to
[email protected] so we can mail you a copy immediately.

pecl-database-mysql_xdevapi's People

Contributors

marinesovitch avatar filipjaniszewski avatar faizshukri avatar johannes avatar fjanisze avatar bwoebi avatar kboortz avatar remicollet avatar dstogov avatar gipulla avatar petk avatar tony2001 avatar krakjoe avatar prashanttekriwal avatar

Stargazers

Classic Values avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.