PHPackages                             youshido/messages - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. youshido/messages

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

youshido/messages
=================

Bundle for easy integrations messages logic

16PHP

Since Jul 28Pushed 10y ago3 watchersCompare

[ Source](https://github.com/Youshido/Messages)[ Packagist](https://packagist.org/packages/youshido/messages)[ RSS](/packages/youshido-messages/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Youshido Messages Bundle
========================

[](#youshido-messages-bundle)

```
$user = $this->get('doctrine')->getRepository('AppBundle:User')
            ->find(1);

$user2 = $this->get('doctrine')->getRepository('AppBundle:User')
    ->find(2);

$user3 = $this->get('doctrine')->getRepository('AppBundle:User')
    ->find(3);

$conversations = $this->get('messages')->getConversations($user);
$newMessages = $this->get('messages')->countUnreadMessages($user);

$conversation = $this->get('doctrine')
    ->getRepository('YMessagesBundle:Conversation')
    ->find(1);

//only get messages
$messages = $this->get('messages')->getMessages($conversation->getId());
//get messages and set it to read for user
$messages = $this->get('messages')->getMessages($conversation->getId(), $user);

//sending new message
$this->get('messages')->sendMessage($conversation->getId(), $user, 'hello !');

$this->get('messages')->joinConversation($conversation->getId(), $user2);
$this->get('messages')->leaveConversation($conversation->getId(), $user2);

$members = $this->get('messages')->getMembers($conversation->getId());

$conversation = $this->get('messages')->findOrCreateConversation($user2, $user3);

$is = $this->get('messages')->isConversationBetween($user, $user2);
```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d7bd516efdafe6bdc231232038920cdde369881c31c7d2b480e53b6205744b70?d=identicon)[portey](/maintainers/portey)

---

Top Contributors

[![portey](https://avatars.githubusercontent.com/u/1961696?v=4)](https://github.com/portey "portey (9 commits)")

### Embed Badge

![Health badge](/badges/youshido-messages/health.svg)

```
[![Health](https://phpackages.com/badges/youshido-messages/health.svg)](https://phpackages.com/packages/youshido-messages)
```

###  Alternatives

[spatie/macroable

A trait to dynamically add methods to a class

72759.6M64](/packages/spatie-macroable)[google/longrunning

Google LongRunning Client for PHP

5771.7M4](/packages/google-longrunning)[consolidation/filter-via-dot-access-data

This project uses dflydev/dot-access-data to provide simple output filtering for applications built with annotated-command / Robo.

4646.9M13](/packages/consolidation-filter-via-dot-access-data)[phootwork/lang

Missing PHP language constructs

1224.8M8](/packages/phootwork-lang)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
