ChatRoom   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 66
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 5
c 2
b 0
f 1
lcom 1
cbo 1
dl 0
loc 66
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A setUid() 0 4 1
A getUid() 0 4 1
A getUsers() 0 4 1
A addUser() 0 4 1
A removeUser() 0 4 1
1
<?php
2
namespace jones\wschat\components;
3
4
/**
5
 * Class ChatRoom
6
 * @package \jones\wschat\components
7
 */
8
class ChatRoom
9
{
10
    public $title;
11
    /** @var string */
12
    private $uid;
13
    /** @var \jones\wschat\components\User[] */
14
    private $users = [];
15
16
    /**
17
     * Set chat room unique id
18
     *
19
     * @access public
20
     * @param $uid
21
     * @return void
22
     */
23
    public function setUid($uid)
24
    {
25
        $this->uid = $uid;
26
    }
27
28
    /**
29
     * Get chat room unique id
30
     *
31
     * @access public
32
     * @return string
33
     */
34
    public function getUid()
35
    {
36
        return $this->uid;
37
    }
38
39
    /**
40
     * Get chat room user list
41
     *
42
     * @access public
43
     * @return \jones\wschat\components\User[]
44
     */
45
    public function getUsers()
46
    {
47
        return $this->users;
48
    }
49
50
    /**
51
     * Add user to chat room
52
     *
53
     * @access public
54
     * @param \jones\wschat\components\User $user
55
     * @return void
56
     */
57
    public function addUser(User $user)
58
    {
59
        $this->users[$user->getId()] = $user;
60
    }
61
62
    /**
63
     * Remove user from chat room
64
     *
65
     * @access public
66
     * @param \jones\wschat\components\User $user
67
     * @return void
68
     */
69
    public function removeUser(User $user)
70
    {
71
        unset($this->users[$user->getId()]);
72
    }
73
}
74
75