Итак, допустим, у меня есть контроллер с именами страниц.Лучший способ загрузки просмотров Codeigniter3
с этой функцией.
function __construct(){
parent::__construct();
$this->auth['result'] = $this->is_logged_in();
}
Приведенный выше код, требует расширенной функции «MY_Controller», которая имеет функцию под названием is_logged_in()
и просто выборки данных сеанса.
Мой первый вопрос был бы, я делаю эту проверку подлинности правильно? или я просто не использую его?
В любом случае, мой главный вопрос касается загрузки просмотров.
Скажем, у меня много просмотров, некоторые виды доступны только пользователю TYPE A, который имеет уровень доступа, отличный от уровня доступа пользователя TYPE B.
Скажем, что обе учетные записи создаются по-разному, как на некоторых интернет-сайтах, где есть пользователи и владельцы магазинов, которые зарегистрировались для рекламы своего магазина irl или, например, онлайн-путешествий. Одна учетная запись - пользователь (обычный/путешественник), а одна учетная запись - владелец гостиницы (владеет отелем irl). Таким образом, оба будут иметь перекрывающиеся представления и некоторые специальные представления для них.
Как мне это сделать при загрузке просмотров?
Say в моем контроллере я получил функцию,
public function view_home(){
}
public function view_userprofile(){
}
public function vieW_hotelprofile(){
}
Вы мою идею сверху, у меня есть отдельные функции для загрузки различных взглядов. Но мой вопрос в том, как я могу сделать его одной большой функцией?
, как, например,
public function view($page ='home'){
}
функция вид будет как терминал для различных учетных записей для доступа мнения.
Это было бы проще, если бы мне не нужно было проверять access_levels. Моя первая идея - сделать очень длинный оператор IF(){}ELSEIF(){}
, например.
if($this->auth['result'] = 1){
load view here.
}
Это приемлемо? также, как бы я мог сделать это эффективно? и в отношении аутентификации эта часть меня действительно смущает, если я использую ее правильно или нет.
Также, если я когда-либо делаю очень длинный оператор if, какие значения я должен проверить? например, я знаю, что вам нужно проверить уровень доступа для определенных просмотров, но я также проверяю имя пользователя, входящее в систему, и сопоставляю его с базой данных, если это уровень доступа одинаковый?
Какая разница между этим и если заявление? Является ли переключатель лучше подходящим, когда есть много условий и, следовательно, многие соответствующие результаты? –
Возможно, вы посмотрели [http://stackoverflow.com/questions/680656/what-is-the-difference-between-if-else-and-switch] –