说我有以下文件
<?php
session_start();
function getSessionData(){
...
// returns array
}
?>
Run Code Online (Sandbox Code Playgroud)
<?php
session_start();
include("functions.php");
$sessionData = getSessionData();
?>
<html>
<head>
<title>test</title>
</head>
<body>
<?php print_r($sessionData); ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在index.php包含functions.php.因为我session_start()在index.php中,这是否意味着它会自动添加到functions.php中(因为函数包含在索引中?)
我不确定我是否明确表示.
<?php
$url = "www.example.com";
?>
Run Code Online (Sandbox Code Playgroud)
<?php
include("config.php");
function getSomething(){
...
return $url
}
?>
Run Code Online (Sandbox Code Playgroud)
<?php
include("config.php");
include("functions.php");
$some_var = getSomething();
?>
<html>
<head>
<title>test</title>
</head>
<body>
<?=$some_var;?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在两个functions.php和index.php都包含config.php ...
但因为config已包含在index.php中...
这是否意味着它必须包括函数aswel?
我想我只是困惑自己tbh :)
是.您可以将include视为简单地粘贴include语句所在的文件中的代码.
在示例2中,您不需要在索引中再次包含配置,因为它已经包含在函数中(反之亦然) - 您实际在做的是在config.php中运行代码两次(可以是通过使用include_once例如防止).
这同样适用于session_start()实施例1中当索引被装载会发生以下情况:
session_startsession_start (现在不需要)function getSessionData() {..}getSessionData()此外,在第二个示例中,如果$url没有global $url在它之前调用(在函数内部),您将无法访问该函数.