Skip to content

Commit f657d8f

Browse files
committed
added: pass transformer support when presenter are instancetiate
1 parent e8dcb0e commit f657d8f

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Presento
2+
3+
A data preparing and presenting package for PHP.
4+
5+
## Why Presento?
6+
7+
Presento is a simple but powerful tools for preparing and presenting data.
8+
When we build an API based application, we need transform before it present or response.

src/Presenter.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@
55

66
abstract class Presenter
77
{
8+
protected $transformer = null;
89
protected $data = [];
910
protected $generatedData = [];
1011

11-
public function __construct(array $data)
12+
public function __construct(array $data, string $transformer = null)
1213
{
1314
$this->data = $data;
15+
$this->transformer = $this->transformer();
16+
if (!is_null($transformer)) {
17+
$this->transformer = $transformer;
18+
}
19+
1420
$this->generatedData = $this->handle();
1521
}
1622

@@ -95,7 +101,7 @@ public function process(array $data) : array
95101
*/
96102
protected function transform(array $data) : array
97103
{
98-
$transformerClass = $this->transformer();
104+
$transformerClass = $this->transformer;
99105

100106
if (!is_null($transformerClass)) {
101107
$transformer = new $transformerClass($data);

0 commit comments

Comments
 (0)