dmecke / ChatBundle

MIT License
15 stars 13 forks source link

Build Status

Installation

  1. Add the following to your composer.json file:

    // composer.json
    {
        // ...
        require: {
            // ...
            "cunningsoft/chat-bundle": "0.5.*"
        }
    }
  2. Run composer update cunningsoft/chat-bundle to install the new dependencies.

  3. Register the new bundle in your AppKernel.php: (note, that you also need to add the KnpTimeBundle here)

    <?php
    // in AppKernel::registerBundles()
    $bundles = array(
        // ...
        new Cunningsoft\ChatBundle\CunningsoftChatBundle(),
        new Knp\Bundle\TimeBundle\KnpTimeBundle(),
        // ...
    );
  4. Let your user entity implement the Cunningsoft\ChatBundle\Entity\AuthorInterface:

    // Acme\ProjectBundle\Entity\User.php
    <?php
    
    namespace Acme\ProjectBundle\Entity;
    
    use Cunningsoft\ChatBundle\Entity\AuthorInterface;
    
    class User implements AuthorInterface
    {
        // ...
  5. Map the interface to your user entity in your config.yml:

    // app/config/config.yml
    // ...
    doctrine:
        orm:
            resolve_target_entities:
                Cunningsoft\ChatBundle\Entity\AuthorInterface: Acme\ProjectBundle\Entity\User
  6. Update your database schema:

    $ app/console doctrine:schema:update
  7. Configure the chat bundle:

    // app/config/config.yml
    // ...
    cunningsoft_chat:
        # refresh interval in milliseconds
        update_interval: 5000
        # messages to be shown in chat
        number_of_messages: 10
  8. Import routes:

    // app/config/routing.yml
    // ...
    cunningsoft_chat_bundle:
        resource: "@CunningsoftChatBundle/Controller"
        type: annotation
  9. Render the chat in your template:

    // src/Acme/ProjectBundle/Resources/views/Default/index.html.twig
    // ...
    {% render(controller('CunningsoftChatBundle:Chat:show')) %}
    // ...

Changelog

Notes

Please also visit my Open Source Browsergame Project Open Soccer Star.