Как избежать использования нескольких включений или требовать в PHP?

Например, давайте предположим, что я использую доступную онлайн библиотеку под названием «альфа». Эта библиотека имеет файл с именем Authenticate.php, который мне нужно включить в каждый файл, чтобы использовать библиотеку.

Например:

for login.php
<?php
include 'Authenticate.php';
include 'Everything.php';
sac::forceAuthentication();
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Authentication Succeeded</h1>
</body></html>
?>

for logout.php
<?php
include 'Authenticate.php';
include 'Everything.php';
sac::logout();
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Logout Successful</h1>
</body></html>
?>

Как видите, мне нужно включить Authenticate.php во все мои файлы, чтобы использовать функциональные возможности Authenticate.php.

Есть ли способ, которым я могу избежать этого, включив Authenticate.php в файл Everything.php?

Чтобы избежать этого, я думал о следующем возможном решении, дайте мне знать, если это правильный способ сделать это.

Я планирую включить следующие функции Authenticate.php в Everything.php, выполнив следующие действия

class Everything {

public function Login(){
include_once('Authenticate.php');
sac::forceAuthentication();

}
public function logout(){
include_once('Authenticate.php');
sac::logout();
}
// Some other functions of everything.php
}

Примечание: Authenticate.php имеет много других функций, которые мне не нужны, я хочу использовать только выбранные функции и включить в Everything.php

Заранее спасибо.

1

Решение

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

Вы можете создать файл, который включает в себя как Authenticate.php а также Everything.php, Назови это AuthEverything.phpи он будет содержать:

include_once('Authenticate.php');
include_once('Everything.php');

Затем положить include_once('AuthEverything.php') в вашем login.php а также logout.php,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]