Создание модуля GameAP: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
Строка 4: Строка 4:
  
 
2.  Вставляем в содержимое файла
 
2.  Вставляем в содержимое файла
<pre>
+
<syntaxhighlight lang="php">
 
<?php  
 
<?php  
 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Строка 15: Строка 15:
 
}
 
}
 
}
 
}
</pre>
+
</syntaxhighlight>
  
 
где File_name - имя файла, первая буква должна быть заглавной, название самого файла не должно начинаться с заглавной буквы.
 
где File_name - имя файла, первая буква должна быть заглавной, название самого файла не должно начинаться с заглавной буквы.
Строка 25: Строка 25:
 
Для того, чтобы показать инфорацию только пользователям, которые авторизовались, нужно добавить конструктор, функцию которая будет автоматически загружаться при запросе любой страницы модуля.
 
Для того, чтобы показать инфорацию только пользователям, которые авторизовались, нужно добавить конструктор, функцию которая будет автоматически загружаться при запросе любой страницы модуля.
  
<pre>
+
<syntaxhighlight lang="php">
 
<?php  
 
<?php  
 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Строка 49: Строка 49:
  
 
}
 
}
</pre>
+
</syntaxhighlight>
  
  
Строка 63: Строка 63:
  
 
Код:
 
Код:
<pre>
+
<syntaxhighlight lang="php">
 
<?php  
 
<?php  
 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Строка 97: Строка 97:
  
 
}
 
}
</pre>
+
</syntaxhighlight>

Версия 14:02, 1 июня 2013

Модуль Hello World

1. Создаем файл в каталоге applications/controllers

2. Вставляем в содержимое файла

<?php 
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class File_name 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 CI_Controller {

    public function __construct()
    {
        parent::__construct();

        $this->load->model('users');                  // Загрузка модели управления пользователями
        $check = $this->users->check_user();    // Проверка, авторизован ли пользователь
        
        if(!$check){
            header("Location: /");                       // Перенаправление для авторизации
	    exit;
        }
    }

    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 CI_Controller {

    public function __construct()
    {
        parent::__construct();

        $this->load->model('users');                  // Загрузка модели управления пользователями
        $check = $this->users->check_user();    // Проверка, авторизован ли пользователь
        
        if(!$check){
            header("Location: /");                       // Перенаправление для авторизации
	    exit;
        }
    }

    public function index()
    {
        /* Главная страница */
    }

    public function server_info($id = FALSE)
    {
        if(!$id){
            /* ID сервера не указан */
            exit;
        }

        /* Информация о сервере */
    }

}