Создание модуля GameAP: различия между версиями
Nikita (обсуждение | вклад) |
Nikita (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | ||
− | class File_name | + | class File_name extends CI_Controller { |
public function index() | public function index() | ||
Строка 28: | Строка 28: | ||
<?php | <?php | ||
if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | ||
− | class File_name | + | class File_name extends CI_Controller { |
public function __construct() | public function __construct() | ||
Строка 65: | Строка 65: | ||
<?php | <?php | ||
if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | ||
− | class Servers | + | class Servers extends CI_Controller { |
public function __construct() | public function __construct() |
Версия 23:53, 7 сентября 2013
Модуль Hello World
1. Создаем файл в каталоге applications/controllers
2. Вставляем в содержимое файла
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class File_name extends CI_Controller {
public function index()
{
echo 'Hello World!';
}
}
где File_name - имя файла, первая буква должна быть заглавной, название самого файла не должно начинаться с заглавной буквы.
Теперь, если перейти по адресу example.com/file_name/ то админпанель отобразит нам надпись "Hello World"
Модуль с авторизацией
Для того, чтобы показать инфорацию только пользователям, которые авторизовались, нужно добавить конструктор, функцию которая будет автоматически загружаться при запросе любой страницы модуля.
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class File_name extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('users'); // Загрузка модели управления пользователями
$check = $this->users->check_user(); // Проверка, авторизован ли пользователь
if(!$check){
redirect('auth'); // Перенаправление для авторизации
}
}
public function index()
{
echo '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 CI_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;
}
/* Информация о сервере */
}
}