cunningsoft/message-bundle

Symfony2 的用户间消息包

安装: 70

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 1

开放问题: 2

类型:symfony-bundle

dev-master / 0.1.x-dev 2017-07-07 06:02 UTC

This package is auto-updated.

Last update: 2024-09-12 09:28:57 UTC


README

  1. 将以下内容添加到您的 composer.json 文件中

    // composer.json
    {
        // ...
        require: {
            // ...
            "cunningsoft/message-bundle": "0.1.*"
        }
    }
  2. 运行 composer update cunningsoft/message-bundle 以安装新的依赖项。

  3. 在您的 AppKernel.php 中注册新的包

    <?php
    // in AppKernel::registerBundles()
    $bundles = array(
        // ...
        new Cunningsoft\MessageBundle\CunningsoftMessageBundle(),
        // ...
    );
  4. 让您的用户实体实现 Cunningsoft\MessageBundle\Entity\UserInterface

    // 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;
        }
        // ...
  5. 在您的 config.yml 中将接口映射到用户实体

    // app/config/config.yml
    // ...
    doctrine:
        orm:
            resolve_target_entities:
                Cunningsoft\MessageBundle\Entity\UserInterface: Acme\ProjectBundle\Entity\User
  6. 更新您的数据库模式

    $ app/console doctrine:schema:update
  7. 导入路由

    // app/config/routing.yml
    // ...
    cunningsoft_message_bundle:
        resource: "@CunningsoftMessageBundle/Controller"
        type: annotation
  8. 链接到消息列表

    // src/Acme/ProjectBundle/Resources/views/Default/index.html.twig
    // ...
    <a href="{{ path('cunningsoft_message_list') }}">messages</a>
    // ...
  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();
        }
    }

变更日志

  • 0.1 (master) 首个工作版本。