Создание обработчиков

На печать

Обработчики это методы, а классы, в которые они входят, называются контролерами. Эти файлы находятся в корневой папке модуля, их название начинаться с двух нижних подчеркиваний.  Имя класса контроллера должно совпадать с названием файла.

Ниже приведен пример, реализующий выполнение всех основных действий над объектом:

 

class __obj {

    // Список объектов (действие по умолчанию)
    // /mpanel/mymodul или /mpanel/mymodul/obj
	public function defAction() {
		return 'Форма добавления';
 	}

	// форма добавления объекта 	  /mpanel/mymodul/obj_add
	public function add() {
		return 'Форма добавления';
 	}

 	// обработчик добавления объекта  /mpanel/mymodul/obj_proc_add
  	public function proc_add() {

  	}

 	// форма редактирования объекта  /mpanel/mymodul/obj_upd
	public function upd() {
    	return 'Форма редактирования';
 	}

 	// обработчик изменения объекта  /mpanel/mymodul/obj_proc_upd
  	public function proc_upd() {

  	}

  	// удаление объекта              /mpanel/mymodul/obj_proc_del
  	public function del() {

  	}

}


Данный контролер реализует обработку следующих урлов:

Как видно, из названия класса и названия любого метода, получается название соответствующего обработчика. В зависимости от текущего урла, система выполнит нужный метод.

Те же правила другими словами:

  1. При обращении к любому урлу имеющему третий параметр, система пытается разбить этот параметр на две части (до и после первого знака «_» или «-»). Первая часть – это название контролера, в данном случае «obj». Вторая часть – это название метода. Например, для урла obj_proc_upd вызывется метод proc_upd контролера «obj».
  2. Если система не может определить название нужного метода (/mpanel/mymodul или /mpanel/mymodul/obj), то по умолчанию вызывается метод defAction().  

В итоге получаем наглядную модель. В папке файлы обработчиков группируются по назначению. Если мы хотим работать со страницами, мы открываем файл «__page.php», если с пользователями «__user.php». В файле находим нужный нам обработчик. Названия обработчиков информации хорошо отличимы от обработчиков вывода, так как имеют префикс «proc_».

Так же, если для модуля планируется использовать самописные элементы интерфейса, создайте в папке модуля папку «template». В ней будут находиться файлы шаблонов оформления с расширением «.tpl».



Что-то не так? Напиши, учтем!