# responsive-menu/3.0.14/src/app/Controllers/Front.php

Responsive Menu – Create Mobile-Friendly Menu, version 3.0.14. 39 lines.

- Page: https://pluginprobe.com/plugins/responsive-menu/3.0.14/code/src/app/Controllers/Front.php
- Raw: https://pluginprobe.com/plugins/responsive-menu/3.0.14/raw/src/app/Controllers/Front.php
- Modified: 2016-08-29T14:32:28+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.14/code/src/app/Controllers/Front.php#L10-L20`.

```php
<?php

namespace ResponsiveMenu\Controllers;

use ResponsiveMenu\Services\OptionService;
use ResponsiveMenu\View\View;
use ResponsiveMenu\ViewModels\Menu;
use ResponsiveMenu\ViewModels\Button;

class Front  {

  public function __construct(OptionService $service, View $view, Menu $menu, Button $button) {
    $this->service = $service;
    $this->view = $view;
    $this->menu = $menu;
    $this->button = $button;
  }

	public function index() {

    $options = $this->service->all();

    $this->view->echoOrIncludeScripts($options);

    if($options['shortcode'] == 'off'):
      $this->view->render('button', ['options' => $options, 'button' => $this->button->getHtml($options)]);
      return $this->view->render('menu', ['options' => $options, 'menu' => $this->menu->getHtml($options)]);
    else:
      return $this->view->addShortcode($options, $this->button, $this->menu);
    endif;

	}

  public function preview() {
    return $this->view->render('preview');
  }

}

```
