lernpad/repository-resolver

Allow add Doctrine repository as type-hinted action argument in SF controller

dev-master 2017-05-25 13:27 UTC

This package is not auto-updated.

Last update: 2024-05-26 01:17:18 UTC


README

Getting Started With LernpadRepositoryResolverBundle - Deprecated, in core of Symfony 3.3+ ====================================================

Step 1: Download LernpadRepositoryResolverBundle using composer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Require the bundle with composer:

$ composer require lernpad/repository-resolver dev-master

Step 2: Enable the bundle

Enable the bundle in the kernel:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Lernpad\RepositoryResolverBundle\LernpadRepositoryResolverBundle(),
        // ...
    );
}

Step 3: Register repository as a service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Register required repository as a service

# services.yml

app.entity.user_repository:
    class: AppBundle\Repository\UserRepository
    factory: ["@doctrine.orm.entity_manager", "getRepository"]
    arguments: [ AppBundle\Entity\User ]

Step 4: That's it!

Finally you need to pass UserRepository to any action in your controller:

<?php
// src/AppBundle/Controller/DefaultController.php

...
public function indexAction(Request $request, UserRepository $repository)
{
    $user = $repository->find(1);
    dump($user);
    ...