Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP使用变量作用域

PHP使用变量作用域
EN

Stack Overflow用户
提问于 2013-02-18 22:20:19
回答 1查看 659关注 0票数 2

我正在使用slimphp框架,并且对我的路由函数的变量范围感到困惑。我有以下几点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$app = new \Slim\Slim(array(
 'templates.path' => '../templates/',
 'view' => new Slim\Extras\Views\Twig()
));

$user = SES\Session::getInstance();

include 'routes.php';

$app->run();

//Routes.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$app->get("/", function() use ($app, $user){
....
}

如果不将global $user;添加到顶部,Routes.php将失败:

Notice: Undefined variable: user

为什么我可以从此文件访问$app变量,但不能访问$user变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-23 02:45:48

我已经缩小了问题的范围。我实际上并没有调用include 'routes.php';我有一个实用函数来加载文件夹中的所有路由。我在我的引导程序中调用了这个函数:SES\Util::loadRoutes(‘../$filename’);这是一个静态函数,它读取一个目录并为每个文件执行一个require $filename;。我必须在过去处理过这个问题,因为在这个函数中,我声明了全局$app;Sooo..我仍然不能完全理解什么时候需要调用global,但这解决了一部分困惑!

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

https://stackoverflow.com/questions/14946352

复制
相关文章
变量作用域
*****************************************************************************************************************
十月梦想
2018/08/29
6100
深入理解PHP原理之变量作用域
作者:laruence(http://www.laruence.com/)地址:http://wwPHP
Java架构师必看
2021/03/22
6650
Python变量作用域
今天我们要说的是:变量的作用域 什么是作用域呢? 作用域就是某一个事件或者物体在某种情况下产生的特定的作用或效果(画外音:能不能说人话?) 好吧,那常老师来举个例子(不举栗子了,太累) 比如你,你是谁? 这个问题问的太TM好了,好吧,你先来试图回答一下你是谁? 可能有很多答案,没错,你只要能列举出两个以上不同的合理答案,就说明你已经理解并掌握作用域的概念了 常老师来举几个例子: 1.我在我父母面前我就是儿子 2.我在我爷爷面前我就是孙子 3.我在我侄子面前我就是叔叔 4.我在我弟弟的孩子面前,我就是TA大爷
企鹅号小编
2018/01/09
9730
Python变量作用域
Python变量作用域
  Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
tonglei0429
2019/07/19
1K0
Python 变量作用域
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 变量作用域 ---- Python 变量作用域 1.变量作用域 2.局部变量 3.全局变量 4.同名的局部变量和全局变量 5.global 语句 ---- 1.变量作用域 Python 中规定每个变量都有它的作用域, 即变量只有在作用域范围内才是可见可用的。 作用域能避免程序代码中的名称冲突,在一
小嗷犬
2022/11/15
7310
Python 变量作用域
JavaScript——变量作用域
1. 变量作用域的介绍 变量作用域就是变量的使用范围,变量分为: 局部变量 全局变量 2. 局部变量 局部变量就是在函数内使用的变量,只能在函数内部使用。 <script type="text/javascript"> function myalert() { // 定义局部变量 var b = 23; alert(b); } myalert(); // 弹出23 alert(b); // 函数外使用出错 </scri
落雨
2022/04/07
29.7K0
变量的作用域
变量的作用域 在JavaScript中,根据作用域的不同,变量可以分为两种: 全局变量 局部变量 1. 全局变量 在全局作用域下声明的变量叫做全局变量(在函数外部定义的变量)。 全局变量在代码的任何位置都可以使用 在全局作用域下 var 声明的变量 是全局变量 特殊情况下,在函数内不使用 var 声明的变量也是全局变量(不建议使用) 2.局部变量 在局部作用域下声明的变量叫做局部变量(在函数内部定义的变量) 局部变量只能在该函数内部使用 在函数内部 var 声明的变量是
清出于兰
2020/10/26
7470
GoLang 变量作用域
GoLang 变量作用域 在 Golang 中,变量作用域分为: 本地局部变量 全局变量 参数变量 本地局部变量 定义:在函数或者在语义块(if/for等)中定义的变量 生效范围:定义在函数里面则在整个函数范围有效; 定义在语义块,则在整个语义块生效 实例如下: //str 定义在函数内,因此它是一个本地局部变量 //str 仅仅在 Test函数内有效,出了这个函数无效 func Test(){ str := "This is a local var" } // str1 定义在语义块 for 里面
luxixing
2019/05/28
1.3K0
JavaScript 变量作用域
变量作用域指的是变量的作用范围,javascript中的变量分为全局变量和局部变量。
Devops海洋的渔夫
2019/05/30
6010
变量的作用域
打算装起来体验一下最初发布的版本, 但是发现只有 Windows 版本, 所以我就装了个 Windows10的虚拟机, 就在我打算安装的时候, 发现:
烟草的香味
2021/01/20
9470
变量的作用域
JavaScript变量作用域
执行环境是JavaScript中比较重要的概念。执行环境定义了变量或者函数有权访问的其他数据决定了他们各自的行为,每个执行环境都有一个与之关联的变量,环境中定义的所有变量和函数保存在这个对象中。 全局执行环境是最外围的一个执行环境。在web浏览器中,全局执行环境被认为是windows对象,因此所有全局变量和函数都是作为window对象的属性和方法创建的。某个执行环境所有代码执行完毕后,该环境被销毁,保存在其中的变量和函数也一同被销毁。全局执行环境,当应该程序退出或者浏览器关系的时候被销毁。 每个函数都有自己
水击三千
2018/02/27
8380
Golang语言--变量作用域
作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。 Go 语言中变量可以在三个地方声明: 函数内定义的变量称为局部变量 函数外定义的变量称为全局变量 函数定义中的变量称为形式
李海彬
2018/03/21
1.3K0
Golang语言--变量作用域
一、变量的作用域
通常所说的整型,实际指的是如下四种类型: byte:一个byte型整数在内存里占8位,表数范围是:-128到127. short:一个short型整数在内存里占16位,表数范围是:-32768到32767. int:一个int型整数在内存里占32位,表数范围是:-2147483648到2147483647. long:一个long型整数在内存里占64位,表数范围是:-9223372036854775808到9223372036854775807.
CN_Simo
2022/05/10
6390
一、变量的作用域
详解Python变量作用域
本文暂时不讨论类定义中的变量(成员)作用域,改天可能会单独成文介绍。 变量作用域总起来说可以这么理解:1)在函数内如果只引用某个变量的值而没有为其赋新值,该变量为(隐式的)全局变量;2)如果在函数内某条代码有为变量赋值的操作,该变量从此之后就被认为是(隐式的)局部变量,除非在函数内该代码之前显式地用关键字global进行了声明。 >>> def demo(): global x #声明或创建全局变量 x = 3 #修改全局变量的值 y =4 #局部变量 print(x, y) >>> x =
Python小屋屋主
2018/04/16
1.5K0
C++ 变量作用域
我们将在后续的章节中学习什么是函数和参数。本章我们先来讲解什么是局部变量和全局变量。
爱学iOS的小麦子
2023/05/24
2780
PHP-作用域
默认情况下,函数内部不能访问函数外部的变量,但在匿名函数中,可以通过use将外部变量引入匿名函数中
cwl_java
2020/03/26
6380
JavaScript 变量 作用域 内存
知识点 1.变量及作用域 2.内存问题 JavaScript的变量与其他语言的变量有很大区别。JavaScript变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已。由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变。 一.变量及作用域 1.基本类型和引用类型的值 变量可能包含两种不同的数据类型的值:基本类型值和引用类型值。基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置。而
汤高
2018/01/11
9970
Python 变量的作用域
变量可以使用的范围,程序的变量并不是哪个位置都可以访问的,访问的权限决定于变量时在哪里定义的
星哥玩云
2022/09/08
7740
Python 变量的作用域
python变量LEGB作用域
上层变量无法读取下层变量, 下层变量可读取上层变量, 但只可读取, 如果需要修改, 则需要关键字声明
不止于python
2022/05/31
3520
python 变量和作用域
python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
py3study
2018/08/02
7140

相似问题

php变量作用域

20

PHP变量作用域

30

php变量作用域

60

PHP变量作用域

26

PHP变量作用域问题

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文