| @@ 89-115 (lines=27) @@ | ||
| 86 | * @param object $config configuration object to create argument from. |
|
| 87 | * @return mixed build argument |
|
| 88 | */ |
|
| 89 | protected function buildArg($config){
|
|
| 90 | if(trim((string)$config['value']) != ''){
|
|
| 91 | $arg = (string)$config['value']; |
|
| 92 | }elseif($config->getName() == 'value'){
|
|
| 93 | $arg = (string)$config; |
|
| 94 | }elseif($config->getName() == 'list'){
|
|
| 95 | $arg = array(); |
|
| 96 | foreach($config->children() as $entry){
|
|
| 97 | if($entry->getName() == 'value'){
|
|
| 98 | if($entry['key']){
|
|
| 99 | $arg[(string)$entry['key']] = (string)$entry; |
|
| 100 | }else{
|
|
| 101 | $arg[] = (string)$entry; |
|
| 102 | } |
|
| 103 | }elseif($entry->getName() == 'service'){
|
|
| 104 | $arg[] = $this->provideService($entry); |
|
| 105 | } |
|
| 106 | } |
|
| 107 | }elseif($config->getName() == 'service'){
|
|
| 108 | $arg = self::provideService($config); |
|
| 109 | }elseif($config->list){
|
|
| 110 | $arg = $this->buildArg($config->list); |
|
| 111 | }elseif($config->service){
|
|
| 112 | $arg = $this->buildArg($config->service); |
|
| 113 | } |
|
| 114 | return $arg; |
|
| 115 | } |
|
| 116 | ||
| 117 | /** |
|
| 118 | * Builds and modifies an arbitrary service/object instance from a config-obect. |
|
| @@ 607-633 (lines=27) @@ | ||
| 604 | * @param object $config configuration object to create argument from. |
|
| 605 | * @return mixed build argument |
|
| 606 | */ |
|
| 607 | protected function buildArg($config){
|
|
| 608 | if(trim((string)$config['value']) != ''){
|
|
| 609 | $arg = (string)$config['value']; |
|
| 610 | }elseif($config->getName() == 'value'){
|
|
| 611 | $arg = (string)$config; |
|
| 612 | }elseif($config->getName() == 'list'){
|
|
| 613 | $arg = array(); |
|
| 614 | foreach($config->children() as $entry){
|
|
| 615 | if($entry->getName() == 'value'){
|
|
| 616 | if($entry['key']){
|
|
| 617 | $arg[(string)$entry['key']] = (string)$entry; |
|
| 618 | }else{
|
|
| 619 | $arg[] = (string)$entry; |
|
| 620 | } |
|
| 621 | }elseif($entry->getName() == 'service'){
|
|
| 622 | $arg[] = $this->provideService($entry); |
|
| 623 | } |
|
| 624 | } |
|
| 625 | }elseif($config->getName() == 'service'){
|
|
| 626 | $arg = $this->provideService($config); |
|
| 627 | }elseif($config->list){
|
|
| 628 | $arg = $this->buildArg($config->list); |
|
| 629 | }elseif($config->service){
|
|
| 630 | $arg = $this->buildArg($config->service); |
|
| 631 | } |
|
| 632 | return $arg; |
|
| 633 | } |
|
| 634 | ||
| 635 | ||
| 636 | /** |
|