dev-master
9999999-dev https://github.com/dmecke/MessageBundleA user-to-user message bundle for Symfony2
MIT
The Requires
by Contributors
by Daniel Mecke
message communication
A user-to-user message bundle for Symfony2
Add the following to your composer.json
file:, (*1)
// composer.json { // ... require: { // ... "cunningsoft/message-bundle": "0.1.*" } }
Run composer update cunningsoft/message-bundle
to install the new dependencies., (*2)
Register the new bundle in your AppKernel.php
:, (*3)
<?php // in AppKernel::registerBundles() $bundles = array( // ... new Cunningsoft\MessageBundle\CunningsoftMessageBundle(), // ... );
Let your user entity implement the Cunningsoft\MessageBundle\Entity\UserInterface
:, (*4)
// Acme\ProjectBundle\Entity\User.php <?php namespace Acme\ProjectBundle\Entity; use Cunningsoft\MessageBundle\Entity\UserInterface as MessageUserInterface; class User implements MessageUserInterface { /** * @var int */ protected $id; /** * @var string */ protected $username; /** * @return int */ public function getId() { return $this->id; } /** * @return string */ public function getUsername() { return $this->username; } // ...
Map the interface to your user entity in your config.yml
:, (*5)
// app/config/config.yml // ... doctrine: orm: resolve_target_entities: Cunningsoft\MessageBundle\Entity\UserInterface: Acme\ProjectBundle\Entity\User
Update your database schema:, (*6)
$ app/console doctrine:schema:update
Import routes:, (*7)
// app/config/routing.yml // ... cunningsoft_message_bundle: resource: "@CunningsoftMessageBundle/Controller" type: annotation
Link to the messages list:, (*8)
// src/Acme/ProjectBundle/Resources/views/Default/index.html.twig // ... <a href="{{ path('cunningsoft_message_list') }}">messages</a> // ...
Create a child bundle to fetch users, (*9)
mkdir src/Acme/MessageBundle
// src/Acme/MessageBundle/AcmeMessageBundle.php <?php namespace Acme\MessageBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class AcmeMessageBundle extends Bundle { public function getParent() { return 'CunningsoftMessageBundle'; } }
// src/Acme/MessageBundle/Controller/MessageController.php <?php namespace Acme\MessageBundle\Controller; use Cunningsoft\MessageBundle\Controller\MessageController as BaseController; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; /** * @Route("/message") */ class MessageController extends BaseController { public function findUser($id) { return $this->get('doctrine.orm.entity_manager')->getRepository('AcmeProjectBundle:User')->find($id); } public function findAllUsers() { return $this->get('doctrine.orm.entity_manager')->getRepository('AcmeProjectBundle:User')->findAll(); } }
A user-to-user message bundle for Symfony2
MIT
message communication