2013-09-26 2 views
0

Я создаю сайт и хотел бы создать список зарезервированных имен пользователей, чтобы люди не могли создавать имена пользователей, такие как учетная запись, индекс, профиль и другие. У меня уже есть свой список, я просто не уверен, где в Codeigniter хранить этот массив данных.Codeigniter - Где я должен хранить массив зарезервированных имен пользователей?

Я хорошо знаком с Codeingiter, и мне нравится держать вещи там, где они должны быть. Помощники, библиотеки и конфиги просто не кажутся местами для хранения массива зарезервированных переменных ... но, возможно, я ошибаюсь.

Я был бы признателен за предложения! Заранее спасибо.

+0

если это жёстко, конфигурация кажется, что лучшее место, чтобы сохранить это для меня ... если нет, то база данных лучше действительно –

ответ

1

Это зависит от ваших потребностей и предпочтений, config прав, но помощник также правильно, потому что если вы держите его в хелперов файл, то вы также можете создать вспомогательную функцию прямо там, например

function is_reserved_username($username) 
{ 
    $reserved_words = array('account', 'index'); 
    return in_array($username, $reserved_words); 
} 

Таким образом, в любом месте, вы можете использовать

if(is_reserved_username($this->input->post('username'))) { 
    // it's a reserved word 
} 

Кроме того, если вы используете свой собственный базовый контроллер (MY_Controller), вы можете сохранить его в этом базовом контроллере, поэтому он будет доступен в каждом классе, и вы можете получить к нему доступ, используя что-то вроде

В MY_Controller, если он доступен в

$reserved_words = array('account', 'index'); 

Используйте его из controller/model

if(in_array($username, $this->reserved_words)) { 
    // it's a reserved word 
} 
1

Я не думаю, что есть какой-либо «правильный» способ сделать это. Лично я бы просто создал таблицу в моей базе данных. Я бы тогда создать функцию, которая будет проверять эту таблицу для зарезервированных имен, когда новый пользователь регистрируется и возвращает TRUE, если имя пользователя не резервируется и FALSE если он зарезервирован

Смежные вопросы