1. Go to this page and download the library: Download fsi/datasource library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fsi / datasource example snippets
php
use FSi\Component\DataSource\Driver\DriverFactoryManager;
use FSi\Component\DataSource\Driver\Doctrine\ORM\DoctrineFactory;
use FSi\Component\DataSource\Driver\Doctrine\ORM\Extension\Core\CoreExtension;
use FSi\Component\DataSource\DataSourceFactory;
$managerRegistry = $this->getDoctrine()->getManager();
$driverExtensions = array(new CoreExtension());
$driverFactoryManager = new DriverFactoryManager(array(
new DoctrineFactory($managerRegistry, $driverExtensions);
));
$extensions = array(
//(...) Extensions that have to be loaded to DataSource after creation.
);
$factory = new DataSourceFactory($driverFactoryManager, $extensions);
$driverOptions = array(
'entity' => 'FSiDemoBundle:News'
);
$datasource = $factory->createDataSource('doctrine-orm', $driverOptions, 'datasource_name');
php
$datasource
->addField('id', 'number', 'eq')
->addField('title', 'text', 'like')
->addField('author', 'text', 'eq')
->addField('create_date', 'datetime', 'between', array(
'someoption' => 'somevalue', //Specific options that this field allows.
))
->addField('content', 'text', 'like')
;
php
$parameters = array(
'datasource_name' => array(
'fields' => array( // In fact this key always equals to constant \FSi\Component\DataSource\DataSourceInterface::PARAMETER_FIELDS.
'title' => 'part of searched title',
'author' => '[email protected]',
'create_date' => array( // Input data doesn't have to be scalar, but it must in form that fields expects it.
'from' => '2012-04-04',
'to' => '2012-12-12',
),
),
),
);
$datasource->bindParameters($parameters);