Действия

Переменные option и task в Joomla 1.0.x

Материал из База знаний Joomla

$option

Переменная $option определяет текущий исполняемый компонент. Так же если вы захотите вызывать какой-либо другой компонент, то в ссылке стоит указывать его именно при помощи этой переменной. Например, если вы хотите дать ссылку на статью, то она будет выглядеть примерно так:

index.php?option=com_content&task=view&id=15

Здесь мы создали ссылку на статью с идентификатором 15.


$task

Вы заметили, что функция компонента определяется при помощи переменной $task. Это исторически сложившаяся ситуация. Во времена Mambo такой переменной служила переменная $act. По сути никто вас не заставляет использовать именно $task. Ведь то, как написан компонент, Joomla никого не интересует, главное что бы работал. Joomla всего лишь вызывает его, а каким образом вы будете вызывать те или иные функции зависит исключительно от вашей фантазии. Классический способ выглядит примерно так:

switch($task) {
 
     case 'view':
          viewFunction();
          break;
 
     case 'edit'’:
          editFunction();
          break;
 
     default:
          defaultFunction();
          break;
 
}

В чем-то данный подход, несомненно, удобен, но еще раз повторюсь – способ вызова подпрограмм вашего компонента будет зависеть только от того, как вы того захотите. Имеет право существовать и следующий объектно-ориентированный способ:

$my_component = new MyComponent();
if (method_exists($my_component,$task)) $my_component->$task;

Здесь ваш компонент представлен некоторым объектом, а выполняемая функция это один из его методов, выполняемых по определенному параметру в URL.