Skip to content

Commit a0972a6

Browse files
committed
Update README.md
1 parent 052f60b commit a0972a6

File tree

1 file changed

+55
-54
lines changed

1 file changed

+55
-54
lines changed

README.md

Lines changed: 55 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,76 +2,77 @@
22

33
## The const way
44

5-
class User
6-
{
7-
const INACTIVE = 0;
8-
const ACTIVE = 1;
9-
const DELETED = 2;
10-
11-
protected $status = 0;
12-
13-
public function setStatus($status)
5+
class User
146
{
15-
$intStatus = (int)$status;
16-
if (!in_array($intStatus, array(self::INACTIVE, self::ACTIVE, self::DELETED))) {
17-
throw new InvalidArgumentException("Invalid status {$status}");
7+
const INACTIVE = 0;
8+
const ACTIVE = 1;
9+
const DELETED = 2;
10+
11+
protected $status = 0;
12+
13+
public function setStatus($status)
14+
{
15+
$intStatus = (int)$status;
16+
if (!in_array($intStatus, array(self::INACTIVE, self::ACTIVE, self::DELETED))) {
17+
throw new InvalidArgumentException("Invalid status {$status}");
18+
}
19+
$this->status = $intStatus;
1820
}
19-
$this->status = $intStatus;
20-
}
2121

22-
public function getStatus()
23-
{
24-
return $this->status;
22+
public function getStatus()
23+
{
24+
return $this->status;
25+
}
2526
}
26-
}
27-
28-
$user = new User();
29-
echo 'Default user status: ' . $user->getStatus() . PHP_EOL;
30-
$user->setStatus(User::ACTIVE);
31-
echo 'Changed user status: ' . $user->getStatus() . PHP_EOL;
32-
// PRINTS:
33-
// Default user status: 0
34-
// Changed user status: 1
3527

36-
## The Enum way:
37-
38-
class UserStatusEnum extends Enum
39-
{
40-
const INACTIVE = 0;
41-
const ACTIVE = 1;
42-
const DELETED = 2;
28+
$user = new User();
29+
echo 'Default user status: ' . $user->getStatus() . PHP_EOL;
30+
$user->setStatus(User::ACTIVE);
31+
echo 'Changed user status: ' . $user->getStatus() . PHP_EOL;
4332

44-
// default value
45-
protected $value = self::INACTIVE;
46-
}
33+
PRINTS:
34+
Default user status: 0
35+
Changed user status: 1
4736

48-
class User
49-
{
50-
protected $status;
37+
## The Enum way:
5138

52-
public function setStatus(UserStatusEnum $status)
39+
class UserStatusEnum extends Enum
5340
{
54-
$this->status = $status;
41+
const INACTIVE = 0;
42+
const ACTIVE = 1;
43+
const DELETED = 2;
44+
45+
// default value
46+
protected $value = self::INACTIVE;
5547
}
5648

57-
public function getStatus()
49+
class User
5850
{
59-
if (!$this->status) {
60-
// init default status
61-
$this->status = new UserStatusEnum();
51+
protected $status;
52+
53+
public function setStatus(UserStatusEnum $status)
54+
{
55+
$this->status = $status;
56+
}
57+
58+
public function getStatus()
59+
{
60+
if (!$this->status) {
61+
// init default status
62+
$this->status = new UserStatusEnum();
63+
}
64+
return $this->status;
6265
}
63-
return $this->status;
6466
}
6567

66-
}
68+
$user = new User();
69+
echo 'Default user status: ' . $user->getStatus() . '(' . $user->getStatus()->getValue() . ')' . PHP_EOL;
70+
$user->setStatus(new UserStatusEnum(UserStatusEnum::ACTIVE));
71+
echo 'Changed user status: ' . $user->getStatus() . '(' . $user->getStatus()->getValue() . ')' . PHP_EOL;
6772

68-
$user = new User();
69-
echo 'Default user status: ' . $user->getStatus() . '(' . $user->getStatus()->getValue() . ')' . PHP_EOL;
70-
$user->setStatus(new UserStatusEnum(UserStatusEnum::ACTIVE));
71-
echo 'Changed user status: ' . $user->getStatus() . '(' . $user->getStatus()->getValue() . ')' . PHP_EOL;
72-
// PRINTS:
73-
// Default user status: INACTIVE (0)
74-
// Changed user status: ACTIVE (1)
73+
PRINTS:
74+
efault user status: INACTIVE (0)
75+
hanged user status: ACTIVE (1)
7576

7677

7778
### New BSD License

0 commit comments

Comments
 (0)