2017 © Pedro Peláez
 

library valuquery

Valu query library

image

valu/valuquery

Valu query library

  • Tuesday, May 8, 2018
  • by mediacabinet
  • Repository
  • 3 Watchers
  • 0 Stars
  • 16 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 9 Versions
  • 0 % Grown

The README.md

ValuQuery

Build Status, (*1)

ValuQuery is a library that provides CSS selector based query language support. ValuQuery can be used with various databases, including NoSQL and relative databases. Currently, MongoDB is best supported and there is also support for Doctrine's object-document mapper for MongoDB., (*2)

Core components

The core components of ValuQuery are SelectorParser and QueryBuilder. SelectorParser parses a Selector object from selector string. QueryBuilder iterates components of Selector object and passes each component to its listeners, which in turn parse the query properties., (*3)

There are pre-built listeners for MongoDB and a separate listener for Doctrine's MongoODM., (*4)

QueryBuilder examples

Querying MongoDB

Initializing query builder:, (*5)

$queryBuilder = new ValuQuery\QueryBuilder\QueryBuilder();
$listener = new ValuQuery\MongoDb\QueryListener();
$queryBuilder->getEventManager()->attach($listener);

Querying documents by ID:, (*6)

$query = $queryBuilder->query('#5281d29b4c16801609000191');

Contents of $query:, (*7)

['query' => ['_id' => new MongoID('5281d29b4c16801609000191')]]

Querying documents by class:, (*8)

$query = $queryBuilder->query('.video');

Contents of $query:, (*9)

['query' => ['classes' => ['$in' => ['video']]]]

Find second document, where name begins with "John" in ascending order:, (*10)

$query = $queryBuilder->query('[name^="John"]:sort(age asc):limit(1):skip(1)');

Contents of $query:, (*11)

[
  'query' => ['name' => new MongoRegex("/^John/")], 
  'sort' => ["age" => 1],
    'limit' => 1,
    'skip' => 1
]

Using ValuQuery with Doctrine MongoDB ODM

It is easiest to use ValuQuery with ODM by integrating it to DocumentRepository by extending ValuQuery\DoctrineMongoOdm\DocumentRepository. The class provides convenient methods query, queryOne, count and exists. If you don't want to use DocumentRepository, you should use QueryHelper, which provides the same methods. Actually, DocumentRepository uses QueryHelper internally., (*12)

Using DocumentRepository

Set up your custom repository by extending ValuQuery\DoctrineMongoOdm\DocumentRepository:, (*13)

use ValuQuery\DoctrineMongoOdm\DocumentRepository;

class FileRepository  extends DocumentRepository
{
//...
}

Now you can use your repository to perform CSS based queries and more!, (*14)

Imagine, you want to fetch the titles of your hi-res videos:, (*15)

$titles = $fileRepository->query('.video.hires', 'title');

Contents of $titles:, (*16)

['Best football scene HD', 'Super Holiday HD', 'In HD: amazing nature']

The Versions

08/05 2018
29/03 2016

1.0.x-dev

1.0.9999999.9999999-dev http://www.mediacabinet.fi/

Valu query library

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu

15/01 2016

v1.1.0

1.1.0.0 http://www.mediacabinet.fi/

Valu query library

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu

07/01 2016

v1.0.3

1.0.3.0 http://www.mediacabinet.fi/

Valu query library

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu

31/12 2015

v1.0.2

1.0.2.0 http://www.mediacabinet.fi/

Valu query library

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu

25/02 2015

v1.0.1

1.0.1.0 http://www.mediacabinet.fi/

Valu query library

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu

03/02 2015

v1.0.0

1.0.0.0 http://www.mediacabinet.fi/

Valu query library

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu

08/05 2014

dev-doctrine-odm-beta-10

dev-doctrine-odm-beta-10 http://www.mediacabinet.fi/

Valu query library

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu

13/11 2013

dev-queryhelper

dev-queryhelper http://www.mediacabinet.fi/

Valu query module

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

query zend framework 2 valu