如何避免在 PHP 中使用多个 include 或 require?
How to avoid using multiple include or require in PHP?
例如,假设我正在使用名为 "alpha" 的在线可用库。该库有一个名为 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
的功能
有没有办法通过在 Everything.php 文件中包含 Authenticate.php 来避免这样做?
为了避免这种情况,我正在考虑以下可能的解决方案,请告诉我这是否是有效的方法。
我计划通过执行以下操作在 Everything.php 中包含 Authenticate.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
中
提前致谢。
将 include
放在函数内部可能不是一个好主意。如果它分配了应该是全局的变量,它们将只在该函数的范围内,不再是全局的。
您可以创建包含 Authenticate.php
和 Everything.php
的文件。将其命名为 AuthEverything.php
,它将包含:
include_once('Authenticate.php');
include_once('Everything.php');
然后将 include_once('AuthEverything.php')
放入您的 login.php
和 logout.php
。
例如,假设我正在使用名为 "alpha" 的在线可用库。该库有一个名为 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
的功能有没有办法通过在 Everything.php 文件中包含 Authenticate.php 来避免这样做?
为了避免这种情况,我正在考虑以下可能的解决方案,请告诉我这是否是有效的方法。
我计划通过执行以下操作在 Everything.php 中包含 Authenticate.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
中提前致谢。
将 include
放在函数内部可能不是一个好主意。如果它分配了应该是全局的变量,它们将只在该函数的范围内,不再是全局的。
您可以创建包含 Authenticate.php
和 Everything.php
的文件。将其命名为 AuthEverything.php
,它将包含:
include_once('Authenticate.php');
include_once('Everything.php');
然后将 include_once('AuthEverything.php')
放入您的 login.php
和 logout.php
。