PHPackages                             vision/yii2-private-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. vision/yii2-private-messages

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

vision/yii2-private-messages
============================

Private messages.

2.0.2(9y ago)342.4k12[2 issues](https://github.com/visionp/yii2-private-messages/issues)MITPHP

Since Aug 24Pushed 8y ago6 watchersCompare

[ Source](https://github.com/visionp/yii2-private-messages)[ Packagist](https://packagist.org/packages/vision/yii2-private-messages)[ RSS](/packages/vision-yii2-private-messages/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (7)Used By (0)

Private messages
================

[](#private-messages)

Private messages

Приватные сообщения (не чат).

Обновление сообщений при отправке или в фоне каждые 30 секунд (это можно изменить в "vendor\\vision\\yii2-private-messages\\js\\private\_mess\_pooling.js"). Есть возможность отправлять копию сообщения на email пользователя. Возможен режим когда пользователи будут видеть и смогут писать сообщения только указанным администраторам. Также возможно в фоне проверять кол-во новых сообщений + их авторов.

Установка
---------

[](#установка)

Выполните

```
php composer.phar require --prefer-dist vision/yii2-private-messages "^2"

```

или добавьте в ваш composer.json

```
"vision/yii2-private-messages": "^2"

```

Использование
-------------

[](#использование)

После установки расширения необходимо выполнить миграцию:

yii migrate --migrationPath=@vendor/vision/yii2-private-messages/migrations/

В контроллере через который будут передаваться данные добавляем action

```
    public function actions()
    {
        return [
            'private-messages' => [
                'class' => \vision\messages\actions\MessageApiAction::className()
            ]
        ];
    }

```

Далее прописываем в конфиге:

```
'components' => [...
        'mymessages' => [
                //Обязательно
            'class'    => 'vision\messages\components\MyMessages',
                //не обязательно
                //класс модели пользователей
                //по-умолчанию \Yii::$app->user->identityClass
            'modelUser' => 'common\models\User',
                //имя контроллера где разместили action
            'nameController' => 'site',
                //не обязательно
                //имя поля в таблице пользователей которое будет использоваться в качестве имени
                //по-умолчанию username
            'attributeNameUser' => 'username',
                //не обязательно
                //можно указать роли и/или id пользователей которые будут видны в списке контактов всем кто не подпадает
                //в эту выборку, при этом указанные пользователи будут и смогут писать всем зарегестрированным пользователям
            'admins' => ['admin', 7],
                //не обязательно
                //включение возможности дублировать сообщение на email
                //для работы данной функции в проектк должна быть реализована отправка почты штатными средствами фреймворка
            'enableEmail' => true,
                //задаем функцию для возврата адреса почты
                //в качестве аргумента передается объект модели пользователя
            'getEmail' => function($user_model) {
                return $user_model->email;
            },
                //задаем функцию для возврата лого пользователей в списке контактов (для виджета cloud)
                //в качестве аргумента передается id пользователя
            'getLogo' => function($user_id) {
                return '\img\ghgsd.jpg';
            },
                //указываем шаблоны сообщений, в них будет передаваться сообщение $message
            'templateEmail' => [
                'html' => 'private-message-text',
                'text' => 'private-message-html'
            ],
                //тема письма
            'subject' => 'Private message'
        ],
    ...]

```

Для работы достаточно во вьюхе вывести виджет

```

```

или

```

```

Если необходимо в фоне проверять новые сообщения мы можем зарегестрировать vision\\messages\\assets\\PrivateMessPoolingAsset

и добавить нужный нам слушатель

```

var listener = new privateMessPooling();
listener.addListener('newData', function(result){
    console.log(result);
});
listener.start();

```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 99.4% 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.

###  Release Activity

Cadence

Every ~38 days

Total

5

Last Release

3403d ago

Major Versions

v1.1.1 → 2.0.02017-01-22

### Community

Maintainers

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

---

Top Contributors

[![visionp](https://avatars.githubusercontent.com/u/8256369?v=4)](https://github.com/visionp "visionp (154 commits)")[![b00bl1k](https://avatars.githubusercontent.com/u/814182?v=4)](https://github.com/b00bl1k "b00bl1k (1 commits)")

---

Tags

yii2extensionmessagesPrivate Messages

### Embed Badge

![Health badge](/badges/vision-yii2-private-messages/health.svg)

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

###  Alternatives

[dmstr/yii2-cookie-consent

Yii2 Cookie Consent Widget

1452.6k](/packages/dmstr-yii2-cookie-consent)[richardfan1126/yii2-js-register

Yii2 widget to register JS into view

1357.2k7](/packages/richardfan1126-yii2-js-register)

PHPackages © 2026

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