Мне нужно выполнить довольно длинный оператор if, но создание библиотеки для одной функции кажется ненужным
Это вовсе не «ненужно» и не является строго «необходимым».", но это, вероятно, хорошая идея - создать библиотеку / класс для этого.
Если у вас много логики, с которой вам нужно работать, например," довольно длинное выражение if ", используя классможет помочь вам разбить это на более мелкие части и сделать логику более управляемой.Если вам нужно вызвать только один открытый метод класса, например $this->auth->is_logged_in()
, в этом нет ничего плохого, тогда вы можете создать небольшой вспомогательный файл или функцию-обертку для вызова метода и поместить туда логику перенаправления вместо класса,Возможно, что-то вроде этого:
// Make sure your "auth" library is autoloaded or load it here
function logged_in($redirect = TRUE)
{
$CI =& get_instance();
$logged_in = $CI->auth->is_logged_in();
// Redirect the user...
if ( ! $logged_in AND $redirect)
{
redirect('somewhere/else/');
}
// Or just check if they are logged in
return $logged_in;
}
Использование класса / библиотеки имеет много преимуществ, и с чем-то таким сложным, как авторизация пользователя, вы получите большую выгоду от его использования, особенно после того, как ваш проект начнет расширяться и вынужна дополнительная утилита.