File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,17 +13,28 @@ public function __construct(
1313 ) {
1414 }
1515
16- public function create (string $ viewModelClass ): ArgumentInterface
16+ public function get (string $ viewModelClass ): ArgumentInterface
1717 {
1818 $ viewModel = $ this ->objectManager ->get ($ viewModelClass );
19+ $ this ->validateViewModel ($ viewModel , $ viewModelClass );
20+ return $ viewModel ;
21+ }
22+
23+ public function create (string $ viewModelClass , array $ data ): ArgumentInterface
24+ {
25+ $ viewModel = $ this ->objectManager ->create ($ viewModelClass , $ data );
26+ $ this ->validateViewModel ($ viewModel , $ viewModelClass );
27+ return $ viewModel ;
28+ }
29+
30+ private function validateViewModel (mixed $ viewModel , string $ viewModelClass ): void
31+ {
1932 if (empty ($ viewModel )) {
2033 throw new RuntimeException ('ViewModel " ' . $ viewModelClass . '" could not be instantiated ' );
2134 }
2235
2336 if (false === $ viewModel instanceof ArgumentInterface) {
2437 throw new RuntimeException ('Class " ' . $ viewModelClass . '" is not a ViewModel ' );
2538 }
26-
27- return $ viewModel ;
2839 }
2940}
You can’t perform that action at this time.
0 commit comments