braune-digital/message-bundle

消息包

v1.0.0 2017-04-18 13:50 UTC

This package is auto-updated.

Last update: 2024-09-15 22:22:09 UTC


README

这个Symfony2-Bundle为用户间和系统消息提供了一个基础。

要求

为了安装此包,你需要

  • DoctrineORM(实体持久化)
  • SonataEasyExtends(可选但强烈推荐)

安装

只需运行composer

composer require braune-digital/message-bundle

并在AppKernel.php中启用Bundle

public function registerBundles()
    {
        $bundles = array(
          ...
          new BrauneDigital\MessageBundle\BrauneDigitalMessageBundle(),
          ...
        );

为了使用此Bundle,你必须

扩展Bundle

只需运行

php app/console sonata:easy-extends:generate --dest=src BrauneDigitalMessageBundle

在AppKernel.php中启用扩展的Bundle

public function registerBundles()
    {
        $bundles = array(
          ...
          new Application\BrauneDigital\MessageBundle\ApplicationBrauneDigitalMessageBundle(),
          ...
        );

将关系添加到你的用户实体中

<one-to-many target-entity="Application\BrauneDigital\MessageBundle\Entity\UserHasConversation" field="conversations" mapped-by="user">
            <cascade><cascade-remove /></cascade>
            <order-by>
                <order-by-field name="joinedOn" direction="DESC"/>
            </order-by>
        </one-to-many>

        <one-to-many target-entity="Application\BrauneDigital\MessageBundle\Entity\UserHasMessage" field="messages" mapped-by="user">
            <cascade><cascade-remove /></cascade>
            <order-by>
                <order-by-field name="date" direction="ASC"/>
            </order-by>
        </one-to-many>

        <one-to-many target-entity="Application\BrauneDigital\MessageBundle\Entity\Message" field="sentMessages" mapped-by="by">
            <order-by>
                <order-by-field name="date" direction="ASC"/>
            </order-by>
        </one-to-many>

待办事项

  • 添加文档版本
  • 验证/约束
  • 安全性(投票者)