winter/modules/cms/classes/CmsController.php
Arthur Kushman bbc33710c1 >= PHP7.0 refactoring (#3343)
* Fix loosly comparison to strict + argument types and return types for >=7.0
* Change hard-coded strings to ::class, 
* Fix unit-tests failures - some relative to 7.0 phpunit env deployment
* Fix exception string + format return types
* Change string representation of new classes in traceLog to ::class
Credit to @arthurkushman
2018-01-12 00:23:20 -06:00

53 lines
1.4 KiB
PHP

<?php namespace Cms\Classes;
use App;
use Illuminate\Routing\Controller as ControllerBase;
use Closure;
/**
* This is the master controller for all front-end pages.
* All requests that have not been picked up already by the router will end up here,
* then the URL is passed to the front-end controller for processing.
*
* @see Cms\Classes\Controller Front-end controller class
* @package october\cms
* @author Alexey Bobkov, Samuel Georges
*/
class CmsController extends ControllerBase
{
use \October\Rain\Extension\ExtendableTrait;
/**
* @var array Behaviors implemented by this controller.
*/
public $implement;
/**
* Instantiate a new CmsController instance.
*/
public function __construct()
{
$this->extendableConstruct();
}
/**
* Extend this object properties upon construction.
* @param Closure $callback
*/
public static function extend(Closure $callback)
{
self::extendableExtendCallback($callback);
}
/**
* Finds and serves the request using the primary controller.
* @param string $url Specifies the requested page URL.
* If the parameter is omitted, the current URL used.
* @return string Returns the processed page content.
*/
public function run($url = '/')
{
return App::make(Controller::class)->run($url);
}
}