-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathindex.php
More file actions
62 lines (51 loc) · 1.02 KB
/
index.php
File metadata and controls
62 lines (51 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/**
* Design pattern "Fluent interface" (Structural)
* This is demo code
* See for details: http://maxsite.org/page/php-patterns
* https://en.wikipedia.org/wiki/Fluent_interface
*/
/**
* Any class
*/
class MyName
{
private $FirstName = '';
private $LastName = '';
/**
* return $this
*/
public function __construct()
{
return $this;
}
/**
* return $this
*/
public function setFirstName($FirstName)
{
$this->FirstName = $FirstName;
return $this;
}
/**
* return $this
*/
public function setLastName($LastName)
{
$this->LastName = $LastName;
return $this;
}
/**
* return result
*/
public function getResult()
{
return $this->FirstName . ' ' . $this->LastName;
}
}
/**
* demo
*/
$fullName = (new MyName())->setFirstName('Don')->setLastName('Joe')->getResult();
echo $fullName; // Don Joe
# end of file