Создание модуля GameAP: различия между версиями
Nikita (обсуждение | вклад) |
Nikita (обсуждение | вклад) |
||
(не показано 15 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:АдминПанель]] | ||
+ | [[Категория:Документация_GameAP]] | ||
+ | [[Категория:Документация для разработчиков]] | ||
+ | |||
+ | [[Документация для разработчиков GameAP|Документация для разработчиков]] | ||
+ | |||
== Модуль Hello World == | == Модуль Hello World == | ||
− | 1. | + | 1. Создаем директорию в application/modules под любым названием, например '''my_module'''. |
− | 2. | + | 2. Создаем каталог controllers в директории с нашим модулем. В директории может находится 3 каталога: controllers, models, views. |
− | |||
− | |||
− | |||
− | class | + | 3. В директории создаем файл с названием модуля - '''my_module.php'''. |
+ | |||
+ | 4. Вставляем в файл содержимое: | ||
+ | <syntaxhighlight lang="php"> | ||
+ | <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); | ||
+ | |||
+ | class My_module extends MX_Controller { | ||
public function index() | public function index() | ||
Строка 15: | Строка 24: | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
− | где | + | где My_module - имя файла, первая буква должна быть заглавной, название самого файла не должно начинаться с заглавной буквы. |
− | Теперь, если перейти по адресу '''example.com/<font color="green"> | + | Теперь, если перейти по адресу '''example.com/<font color="green">my_module</font>/''' то админпанель отобразит нам надпись "Hello World" |
== Модуль с авторизацией == | == Модуль с авторизацией == | ||
− | Для того, чтобы показать инфорацию только пользователям, которые авторизовались, нужно | + | Для того, чтобы показать инфорацию только пользователям, которые авторизовались, нужно добавить конструктор, функцию которая будет автоматически загружаться при запросе любой страницы модуля. |
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); | ||
+ | |||
+ | class My_module extends MX_Controller { | ||
+ | |||
+ | public function __construct() | ||
+ | { | ||
+ | parent::__construct(); | ||
+ | |||
+ | $this->load->model('users'); // Загрузка модели управления пользователями | ||
+ | $check = $this->users->check_user(); // Проверка, авторизован ли пользователь | ||
+ | |||
+ | if(!$check){ | ||
+ | redirect('auth'); // Перенаправление для авторизации | ||
+ | } | ||
+ | } | ||
+ | |||
+ | public function index() | ||
+ | { | ||
+ | $this->output->set_output('Hello World!'); // Если пользователь авторизован, то он увидит "Hello World!" | ||
+ | } | ||
− | < | + | } |
− | <?php | + | </syntaxhighlight> |
− | if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | + | |
− | class | + | == Несколько страниц == |
+ | |||
+ | Каждая страница модуля (второй сегмент URL) определяется функцией. А третий и последующие сегменты передаются как параметры функции. | ||
+ | |||
+ | '''example.com/<font color="green">servers</font>/<font color="#FF6600">server_info</font>/<font color="#3300CC">15</font>''' | ||
+ | |||
+ | <font color="green">servers</font> - название нашего модуля <br /> | ||
+ | <font color="#FF6600">server_info</font> - имя функции<br /> | ||
+ | <font color="#3300CC">15</font> - параметр функции<br /> | ||
+ | |||
+ | Код: | ||
+ | <syntaxhighlight lang="php"> | ||
+ | <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); | ||
+ | |||
+ | class Servers extends MX_Controller { | ||
public function __construct() | public function __construct() | ||
Строка 38: | Строка 83: | ||
if(!$check){ | if(!$check){ | ||
− | + | redirect('auth'); // Перенаправление для авторизации | |
− | |||
} | } | ||
} | } | ||
Строка 45: | Строка 89: | ||
public function index() | public function index() | ||
{ | { | ||
− | + | /* Главная страница */ | |
+ | } | ||
+ | |||
+ | public function server_info($id = FALSE) | ||
+ | { | ||
+ | if(!$id){ | ||
+ | /* ID сервера не указан */ | ||
+ | exit; | ||
+ | } | ||
+ | |||
+ | /* Информация о сервере */ | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
+ | |||
+ | {{Категория:Документация_для_разработчиков}} |
Текущая версия на 13:15, 15 мая 2014
Документация для разработчиков
Модуль Hello World
1. Создаем директорию в application/modules под любым названием, например my_module.
2. Создаем каталог controllers в директории с нашим модулем. В директории может находится 3 каталога: controllers, models, views.
3. В директории создаем файл с названием модуля - my_module.php.
4. Вставляем в файл содержимое:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class My_module extends MX_Controller {
public function index()
{
echo 'Hello World!';
}
}
где My_module - имя файла, первая буква должна быть заглавной, название самого файла не должно начинаться с заглавной буквы.
Теперь, если перейти по адресу example.com/my_module/ то админпанель отобразит нам надпись "Hello World"
Модуль с авторизацией
Для того, чтобы показать инфорацию только пользователям, которые авторизовались, нужно добавить конструктор, функцию которая будет автоматически загружаться при запросе любой страницы модуля.
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class My_module extends MX_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('users'); // Загрузка модели управления пользователями
$check = $this->users->check_user(); // Проверка, авторизован ли пользователь
if(!$check){
redirect('auth'); // Перенаправление для авторизации
}
}
public function index()
{
$this->output->set_output('Hello World!'); // Если пользователь авторизован, то он увидит "Hello World!"
}
}
Несколько страниц
Каждая страница модуля (второй сегмент URL) определяется функцией. А третий и последующие сегменты передаются как параметры функции.
example.com/servers/server_info/15
servers - название нашего модуля
server_info - имя функции
15 - параметр функции
Код:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Servers extends MX_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('users'); // Загрузка модели управления пользователями
$check = $this->users->check_user(); // Проверка, авторизован ли пользователь
if(!$check){
redirect('auth'); // Перенаправление для авторизации
}
}
public function index()
{
/* Главная страница */
}
public function server_info($id = FALSE)
{
if(!$id){
/* ID сервера не указан */
exit;
}
/* Информация о сервере */
}
}
Документация для разработчиков | |
---|---|
Помощники: | •DS Helper |
Модели: | •Users •Servers •Games •Game Types |
Библиотеки: | •Query •Rcon •Control •Files •Install |