首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不能将“必需”和“使用”写在函数体中?

问为什么不能将“必需”和“使用”写在函数体中?
EN

Stack Overflow用户
提问于 2015-12-04 12:27:57
回答 1查看 77关注 0票数 1

file1:

代码语言:javascript
复制
<?php
    function done() {
        require_once '/home/vendor/autoload.php';
        use Qiniu\Auth;
        use Qiniu\Storage\UploadManager;
        #omitted
        }
?>

file2

代码语言:javascript
复制
<?php
    require_once '/home/vendor/autoload.php';
    use Qiniu\Auth;
    use Qiniu\Storage\UploadManager;
    function done() {
        #omitted
        }
?>

为什么file1不能工作?

它应该重写为file2,为什么需要和使用可以写在函数体中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-04 12:33:26

因为来自php文档

当包含文件时,它包含的代码继承了发生包含的行的变量范围。从那时起,调用文件中该行中的任何可用变量都将在被调用文件中可用。但是,所包含的文件中定义的所有函数和类都具有全局范围。

对于use关键字,适用相同的规则

在您的示例中,声明是μnside,函数限制了vars和包含的文件中的代码声明的可见范围。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34088423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档