Home

Page 228
Page 228
background image

Глава 15 

228 

4.  В этом каталоге ищет файл helloworld.php. 

5.  Интерпретирует этот файл. 

Для правильной интерпретации необходимо несколько файлов. 
•  helloworld.php — точка входа в ваш компонент. 
•  controller.php — контроллер. 
•  views/helloworld/view.html.php — представление, передающее данные в 

шаблон. 

•  views/helloworld/tmpl/default.php  —  файл  стандартного  шаблона,  кото#

рый будет переписан корректным шаблоном или использован как есть. 

• 

helloworld.xml

 —уже знакомый XML#файл, который объясняет содержимое па#

кета

 контроллеру, сообщает ему, куда инсталлировать его, и кто за него отвечает. 

Если вы растеряны и испытываете ностальгию по Joomla! 1.0 (там было привычно 

делать это одним файлом), доверьтесь нововведению. 

Лучше позволить инсталлятору Joomla! инсталлировать пакет компонента 

corm_hello.zip

 и установить пункт меню. Таким образом, вы немедленно размещаете 

все файлы в нужные каталоги и можете легко исследовать исходный код. 

Точка входа(componenet/com_hello/hello.php) 

Это первый файл, который будет вызван, когда вы указываете URL http:// 

localhost/joomlal50/index.php?option=com_hello&view=hello

 или щелкаете 

на соответствующем пункте меню. Результат будет определенно ожидаемым. Вы уви#
дите текст "Hello World" в окне контента. 

Исходный код этого файла представлен ниже. 

/components/com_hello/hello.php:  

<?php 
// ограниченный доступ 
defined('_JEXEC') or die('Restricted access'); 
// импортирование базового контроллера 
require__once (JPATH_COMPONENT.DS.'controller.php'); 
// создание собственного контроллера 
$classname = 'HelloController'.$controller; 
$controller = new $classname( ); 
// проверка наличия параметров запроса 
$controller>execute( JRequest::getVar('task')); 
// перенаправление внутри контроллера 
$controller>redirect(); 
?> 

Первая строка осуществляет контроль безопасности, проверяя, был ли файл вы#

зван Joomla! или же непосредственно. Непосредственно вызванный сценарий немед#
ленно останавливается функцией die(): 

require_once {JPATH_COMPONENT.DS.'controller.php'); 

После этого импортируется первый контроллер. Абсолютный путь к текущее, 

компоненту (components/com_hello) выглядит как JPATH_COMPONENT, a DS представ#
ляет собой разделитель каталогов операционной системы. У Windows он отличается от 
Unix#подобных систем, т.е. это будет / или \. Joomla! устанавливает это значение 
автоматически. 


Copyright © 2018 Файлообменник mega.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.