Back to AdminController class

Method __construct

public
__construct
(mixed $config = array(), \Joomla\CMS\MVC\Factory\MVCFactoryInterface $factory = null, ?\Joomla\CMS\Application\CMSApplication $app = null, ?\Joomla\Input\Input $input = null)
Constructor.
Parameters
  • array $config An optional associative array of configuration settings. Recognized key values include 'name', 'default_task', 'model_path', and 'view_path' (this list is not meant to be comprehensive).
  • \Joomla\CMS\MVC\Factory\MVCFactoryInterface $factory The factory.
  • \Joomla\CMS\Application\CMSApplication $app The Application for the dispatcher
  • \Joomla\Input\Input $input The Input object for the request
Since
  • 3.0

Method __construct - Source code

/**
 * Constructor.
 *
 * @param   array                $config   An optional associative array of configuration settings.
 *                                         Recognized key values include 'name', 'default_task', 'model_path', and
 *                                         'view_path' (this list is not meant to be comprehensive).
 * @param   MVCFactoryInterface  $factory  The factory.
 * @param   CMSApplication       $app      The Application for the dispatcher
 * @param   Input                $input    The Input object for the request
 *
 * @since   3.0
 */
public function __construct($config = array(), MVCFactoryInterface $factory = null, ?CMSApplication $app = null, ?Input $input = null)
{
    parent::__construct($config, $factory, $app, $input);
    // Define standard task mappings.
    // Value = 0
    $this->registerTask('unpublish', 'publish');
    // Value = 2
    $this->registerTask('archive', 'publish');
    // Value = -2
    $this->registerTask('trash', 'publish');
    // Value = -3
    $this->registerTask('report', 'publish');
    $this->registerTask('orderup', 'reorder');
    $this->registerTask('orderdown', 'reorder');
    // Guess the option as com_NameOfController.
    if (empty($this->option)) {
        $this->option = ComponentHelper::getComponentName($this, $this->getName());
    }
    // Guess the \Text message prefix. Defaults to the option.
    if (empty($this->text_prefix)) {
        $this->text_prefix = strtoupper($this->option);
    }
    // Guess the list view as the suffix, eg: OptionControllerSuffix.
    if (empty($this->view_list)) {
        $reflect = new \ReflectionClass($this);
        $r = array(0 => '', 1 => '', 2 => $reflect->getShortName());
        if ($reflect->getNamespaceName()) {
            $r[2] = str_replace('Controller', '', $r[2]);
        } elseif (!preg_match('/(.*)Controller(.*)/i', $reflect->getShortName(), $r)) {
            throw new \Exception(Text::sprintf('JLIB_APPLICATION_ERROR_GET_NAME', __METHOD__), 500);
        }
        $this->view_list = strtolower($r[2]);
    }
}