Переменная $option определяет текущий исполняемый компонент. Так же если вы захотите вызывать какой-либо другой компонент, то в ссылке стоит указывать его именно при помощи этой переменной. Например, если вы хотите дать ссылку на статью, то она будет выглядеть примерно так:
index.php?option=com_content&task=view&id=15
Здесь мы создали ссылку на статью с идентификатором 15.
Вы заметили, что функция компонента определяется при помощи переменной $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.