fixate/pw-mvc-boilerplate

View on GitHub
controllers/ApplicationController.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
/**
 * Application Controller.
 *
 * Base controller all other controllers extend. index() in this
 * controller is used if not provided in template-specific controller.
 */
\fixate\Php::require_all(TEMPLATE_DIR.'/controllers/traits');

class ApplicationController extends Controller
{
    use Forms;
    use Javascript;
    use OpenGraph;
    use Presenters;
    use MenuFactory;
    use SEO;
    use Search;
    use Twitter;
    use VideoEmbed;
    use Utils;

    public function initialize()
    {
        $this->og_set_opt('site_name', $this->pages->get('/settings')->site_name);

        Forms::__formsInitialize($this);
        Javascript::__jsInitialize($this);
        OpenGraph::__ogInitialize($this);
        Presenters::__presenterInitialize($this);
        MenuFactory::__menuInitialize($this);
        SEO::__seoInitialize($this);
        Search::__searchInitialize($this);
        Twitter::__twInitialize($this);
        VideoEmbed::__vidembedInitialize($this);
        Utils::__utilsInitialize($this);

        // $this->js_add_cdn(
        //     'cdn-some-lib-url', // cdn URL
        //     'window["some-lib"]', // object to assign to window
        //     'vendor/jquery/dist/some-lib.js' // local fallback
        // );
    }

    // Fallback index
    public function index()
    {
        return $this->render($this->config->page->template->name);
    }
}