文件1:
<?php
function done() {
require_once '/home/vendor/autoload.php';
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
#omitted
}
?>
file2的
<?php
require_once '/home/vendor/autoload.php';
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
function done() {
#omitted
}
?>
为什么file1不起作用?
它应该被重写为file2,为什么要求和使用可以写在函数体中?
答案 0 :(得分:2)
对于当包含文件时,它包含的代码将继承发生包含的行的变量范围。从那时起,调用文件中该行可用的任何变量都将在被调用文件中可用。但是,包含文件中定义的所有函数和类都具有全局范围。
use
关键字,适用相同的规则
在你的情况下声明isìnside函数限制vars的可见范围和在包含文件中声明的代码