PHP code example of jurjean / spray-persistence-bundle
1. Go to this page and download the library: Download jurjean/spray-persistence-bundle 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/ */
jurjean / spray-persistence-bundle example snippets
$articles->filter('currentlyPublished');
$articles->filter('writtenBy', new Author('Buster'));
$articles->filter('ascending');
$articleCount = count($articles);
foreach ($articles as $article) {
}
foreach ($articles->paginate(1) as $article) {
}
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Spray\PersistenceBundle\SprayPersistenceBundle(),
);
return $bundles;
}
}
class ArticleRepository extends Repository
{
public function findCurrentlyPublished($order)
{
}
public function findCurrentlyPublishedAndWrittenBy(Author $author, $order)
{
}
}
use Doctrine\ORM\QueryBuilder;
use Spray\PersistenceBundle\EntityFilter\EntityFilterInterface;
use Spray\PersistenceBundle\EntityFilter\PrioritizedFilterInterface;
class First implements EntityFilterInterface, PrioritizedFilterInterface
{
public function filter(QueryBuilder $queryBuilder, $options = array())
{
}
public function getName()
{
return 'first';
}
public function getPriority()
{
return 100;
}
}
class Last implements EntityFilterInterface, PrioritizedFilterInterface
{
public function filter(QueryBuilder $queryBuilder, $options = array())
{
}
public function getName()
{
return 'last';
}
public function getPriority()
{
return -100;
}
}
$repository->filter('last'); // Added at priority level -100
$repository->filter('first'); // Added at priority level 100, before 'last'
use Doctrine\ORM\QueryBuilder;
use Spray\PersistenceBundle\EntityFilter\ConflictingFilterInterface;
class ArticlesConflictingWith implements ConflictingFilterInterface
{
public function filter(QueryBuilder $queryBuilder, $options = array())
{
}
public function getName()
{
return 'conflictingWith';
}
public function getConflictingFilters()
{
return array('another');
}
}
$articles->filter('another');
$articles->filter('conflictingWith'); // This is now the only filter
class ArticleFilters extends FilterRegistry
{
public function __construct()
{
$this->add(new ArticlesPublishedSince());
$this->add(new ArticlesWrittenBy());
}
}
$articles = new RepositoryFilter($entityManager->getRepository('Article'));
$articles->setFilterLocator(new ArticleFilters());
$articles->filter('publishedSince');
$articles->filter('writtenBy', new Author('Buster'));
xml
<container>
<services>
<service id="bundle.articles"
parent="spray_persistence.repository_filter">
<argument>Bundle\Entity\Article</argument>
</service>
</services>
</container>
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.