Download the PHP package devgroup/yii2-data-structure-tools without Composer

On this page you can find all versions of the php package devgroup/yii2-data-structure-tools. 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 yii2-data-structure-tools

Yii2 data structures tools

TBD

WARNING: This extension is under active development. Don't use it in production!

Build Status codecov.io

Installation

The preferred way to install this extension is through composer.

Either run

or add

to the require section of your composer.json file.

Usage

TBD

Credits and inspiration sources

Search concept

for now it works only with STATIC VALUES property storage

Note, that search will work only with models with DevGroup\DataStructure\traits\PropertiesTrait trait and DevGroup\DataStructure\behaviors\HasProperties behavior connected. See how to connect (Russian for now)

Extension provides flexible system of search. Each property have configuration point that switches ability to use this property in search.

Basic search will be done in two ways:

Main feature is that if you want to use elasticseatch, and defined it in the app config, but not still configure it your search will just work fine with auto fallback to simple mysql searching. And when your elasticsearch will be properly started search will be automatically switched for elasticseatch.

Preferred search mechanism you can define in the application configuration files, like this:

If you want to start using elasticsearch, first of all you have to install and configure it.

Then, if you already have entries in your database you may want to generate and load start indices. For this run in console:

This command will create indices for all properties that you allowed to search.

How to search

For now only available to perform filtering against properties static values

At any place you want

This will render basic filter form with all properties and values contained in the elasticsearch index

In your controller

Filtering logic

Filters uses both intersection and union operations while search.

Lets see, for example you have filter request like this:

First of all this means that we want to find products that has property values assigned with id 2,3 from property with id 1, and 18, 9, 34 from property with id 13.

What will filter do?

How to extend and implement

For all Search and Watch mechanisms you can use your custom implementation.

Actually you can create and use your own database connection, e.g.: MongoDB, ArangoDB.

Or you can just use your custom Watch class for elasticsearch index actualization.

Both Search and Watch classes are implements according interfaces and extends abstract classes

Just extend your class from needed abstract class and define it in application config, like described upper.

If you are realizing custom index, you probably need to create own controller for first time index initialization, like DevGroup\DataStructure\commands\ElasticIndexController

Define your own Watch class in your own Search class if necessary.

Clearly created and defined Watch class will be automatically subscribed to according system events.


All versions of yii2-data-structure-tools with dependencies

PHP Build Version
Package Version
Requires php Version >=5.5.0
yiisoft/yii2 Version ^2.0.6
devgroup/yii2-tag-dependency-helper Version ^1.3.0
unclead/yii2-multiple-input Version ~1.2.3
devgroup/yii2-multilingual Version *
arogachev/yii2-sortable Version ^0.1.5
kartik-v/yii2-widget-select2 Version ^2.0.0
hector68/yii2-map-input-widget Version ^2.0
elasticsearch/elasticsearch Version ^2.1
rmrevin/yii2-fontawesome Version ~2.14
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 devgroup/yii2-data-structure-tools contains the following files

Loading the files please wait ....