# responsive-menu/3.0.6/src/app/ViewModels/Menu.php

Responsive Menu – Create Mobile-Friendly Menu, version 3.0.6. 33 lines.

- Page: https://pluginprobe.com/plugins/responsive-menu/3.0.6/code/src/app/ViewModels/Menu.php
- Raw: https://pluginprobe.com/plugins/responsive-menu/3.0.6/raw/src/app/ViewModels/Menu.php
- Modified: 2016-06-21T17:18:08+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/responsive-menu/3.0.6/code/src/app/ViewModels/Menu.php#L10-L20`.

```php
<?php

namespace ResponsiveMenu\ViewModels;

use ResponsiveMenu\Collections\OptionsCollection as OptionsCollection;

class Menu {

  public function __construct(OptionsCollection $options) {
      $this->options = $options;
  }

  public function getHtml() {
    $mapping = [
      'title' => 'ResponsiveMenu\ViewModels\Components\Menu\Title',
      'menu' => 'ResponsiveMenu\ViewModels\Components\Menu\Menu',
      'search' => 'ResponsiveMenu\ViewModels\Components\Menu\Search',
      'additional content' => 'ResponsiveMenu\ViewModels\Components\Menu\AdditionalContent'
    ];
    $content = '';

    foreach(json_decode($this->options['items_order']) as $key => $val):
      if($val == 'on'):
        $mapper = new $mapping[$key];
        $content .= $mapper->render($this->options);
      endif;
    endforeach;
    
    return $content;
  }

}

```
