例如,假设我正在使用名为" 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中
提前谢谢。
答案 0 :(得分:1)
将include
置于函数内部可能不是一个好主意。如果它分配应该是全局变量的变量,它们将只在该函数的范围内,而不再是全局变量。
您可以创建包含Authenticate.php
和Everything.php
的文件。称之为AuthEverything.php
,它将包含:
include_once('Authenticate.php');
include_once('Everything.php');
然后将include_once('AuthEverything.php')
放入login.php
和logout.php
。