Как упростить вызов функций класса? Предисловие: $global = new actions; Имеется код вызова функций из класса:$global->checkSession(); # Проверка наличие сессии у пользователя $global->checkOnBan(); # Проверяем на бан пользователя $global->checkCookie(); # Проверка на существование cookie-файлов $global->logoutFromSite(); # Если пользователь решил выйти с сайта $global->checkOnDeletedFromDB(); # Проверка, если пользователь был удалён из БД $global->setOnline(); # Ставим онлайн пользователю Как из этого огромного куска преобразовать в одну функцию, либо же вызов функций вида $global->a()->b()-c();
Для упрощения вызова функций класса можно создать одну функцию, которая будет вызывать все необходимые функции по порядку. Например:
function checkUserStatus() { global $global; $global->checkSession(); $global->checkOnBan(); $global->checkCookie(); $global->logoutFromSite(); $global->checkOnDeletedFromDB(); $global->setOnline(); } checkUserStatus();
Таким образом, достаточно будет вызвать только одну функцию checkUserStatus(), которая уже содержит вызов всех необходимых функций.
Если же вы хотите использовать цепочку вызовов функций вида $global->a()->b()->c(), то необходимо реализовать методы в классе actions, которые будут возвращать сам объект $global после выполнения каждой функции. Например:
class actions { public function a() { // some code return $this; } public function b() { // some code return $this; } public function c() { // some code return $this; } } $global->a()->b()->c();
Таким образом, вы сможете вызывать функции цепочкой, передавая объект $global через return $this после каждой функции.
Для упрощения вызова функций класса можно создать одну функцию, которая будет вызывать все необходимые функции по порядку. Например:
function checkUserStatus() {global $global;
$global->checkSession();
$global->checkOnBan();
$global->checkCookie();
$global->logoutFromSite();
$global->checkOnDeletedFromDB();
$global->setOnline();
}
checkUserStatus();
Таким образом, достаточно будет вызвать только одну функцию checkUserStatus(), которая уже содержит вызов всех необходимых функций.
Если же вы хотите использовать цепочку вызовов функций вида $global->a()->b()->c(), то необходимо реализовать методы в классе actions, которые будут возвращать сам объект $global после выполнения каждой функции. Например:
class actions {public function a() {
// some code
return $this;
}
public function b() {
// some code
return $this;
}
public function c() {
// some code
return $this;
}
}
$global->a()->b()->c();
Таким образом, вы сможете вызывать функции цепочкой, передавая объект $global через return $this после каждой функции.