cunningsoft / message-bundle
Symfony2 的用户间消息包
dev-master / 0.1.x-dev
2017-07-07 06:02 UTC
Requires
- doctrine/orm: >=2.2.0
- knplabs/knp-time-bundle: ~1.1
- symfony/symfony: ~2.3
This package is auto-updated.
Last update: 2024-09-12 09:28:57 UTC
README
-
将以下内容添加到您的
composer.json
文件中// composer.json { // ... require: { // ... "cunningsoft/message-bundle": "0.1.*" } }
-
运行
composer update cunningsoft/message-bundle
以安装新的依赖项。 -
在您的
AppKernel.php
中注册新的包<?php // in AppKernel::registerBundles() $bundles = array( // ... new Cunningsoft\MessageBundle\CunningsoftMessageBundle(), // ... );
-
让您的用户实体实现
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; } // ...
-
在您的
config.yml
中将接口映射到用户实体// app/config/config.yml // ... doctrine: orm: resolve_target_entities: Cunningsoft\MessageBundle\Entity\UserInterface: Acme\ProjectBundle\Entity\User
-
更新您的数据库模式
$ app/console doctrine:schema:update
-
导入路由
// app/config/routing.yml // ... cunningsoft_message_bundle: resource: "@CunningsoftMessageBundle/Controller" type: annotation
-
链接到消息列表
// src/Acme/ProjectBundle/Resources/views/Default/index.html.twig // ... <a href="{{ path('cunningsoft_message_list') }}">messages</a> // ...
-
创建一个子包来获取用户
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) 首个工作版本。