Codeigniter - Где я должен хранить массив зарезервированных имен пользователей?

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

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

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


person Vanzo    schedule 26.09.2013    source источник
comment
если это жестко закодировано, конфигурация кажется мне лучшим местом для хранения этого ... если нет, база данных действительно лучше   -  person Zathrus Writer    schedule 26.09.2013


Ответы (2)


Это зависит от ваших потребностей и предпочтений, 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
}
person The Alpha    schedule 26.09.2013

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

person Pattle    schedule 26.09.2013