在函数中找不到 PHP 全局变量 [重复]

2023-11-30

可能的重复:
PHP 中的全局变量

我有一个类似的 PHP 脚本

global $var1;

function func1() {
    $var1->something(); // $var1 not found ... why?
}

我必须在每个函数中执行全局 $var1 吗?


我必须在每个函数中执行全局 $var1 吗?

Yes.

PHP 中的函数有自己的变量范围。访问全局范围内的变量的唯一方法是直接请求它们。

我相信您会理解这如何导致难以阅读的意大利面条式代码。尽可能避免全局变量。

如果您正在构建 OO 代码,请考虑登记处(命名空间集合)和/或依赖注入(在构造函数中传递新对象所需的对象)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在函数中找不到 PHP 全局变量 [重复] 的相关文章

  • 控制器 HMVC 内的 CodeIgniter 负载控制器

    我在用着http github com philsturgeon codeigniter template http github com philsturgeon codeigniter template 对于模板 我尝试将其他控制器视图
  • 带单引号的 XPATH 查询[重复]

    这个问题在这里已经有答案了 有人知道如何解决这个问题吗 单引号让我陷入困境 nodes xml gt xpath item contains catalog Billy s Blogs title 我尝试以各种方式逃避它 但都抛出错误 no
  • Laravel 5:在控制台内核的 Schedule() 函数中使用 Cache:: 或 DB::

    我正在尝试以不同的用户配置的时间间隔在 Laravel 5 中运行 Artisan 控制台命令 我已经构建了控制台命令 并拥有一个包含 运行频率 配置值的数据库 具有 Eloquent 模型 内schedule 的函数App Console
  • CodeIgniter加入选择为

    我的数据库中有 2 个表需要加入 一张表是 artikelen 表 另一张表是 Collections 表 我目前有 this gt db gt select this gt db gt from collecties this gt db
  • 将 int 转换为 float/double [重复]

    这个问题在这里已经有答案了 当我想要转换时遇到了麻烦integer价值观float 带点的数字 a 7200 b a 3600 echo b 2 b floatval b echo b 2 但它应该回响2 0 or 2 00 我也尝试过se
  • WAMP PHP 启动错误:无法加载动态库

    我的 WAMP 服务器昨天工作得非常好 今天我不得不重新启动计算机 但有些事情搞砸了 服务器从未完全启动 任务栏图标保持橙色 我的项目将打开 但仅加载 HTML 而不加载 PHP 这是我的 PHP 错误日志 04 Oct 2014 01 3
  • 确定 PHP 到目前为止执行了多长时间

    我需要确定 PHP 函数到目前为止已经运行了多长时间 有哪些选项可以确定某些 PHP 代码的运行时间 我正在使用 zend 框架 Call microtime true 函数以毫秒分辨率获取当前时间
  • 通过 PEAR 安装 PHPUnit

    我安装时遇到问题PHPUnit 3 4 6 via 梨1 9 0 当我发现频道后pear phpunit de并尝试使用以下命令之一 pear 安装 phpunit PHPUnit pear 安装 alldeps phpunit PHPUn
  • AJAX 安全问题

    我希望能够解决一些关于 AJAX 安全性的问题 这是我试图理解的一个场景 假设我正在使用 AJAX 向页面请求一些半敏感材料 例如 我将把用户的 ID 传递给一个 php 文件 并返回一些关于他们自己的信息 现在 是什么阻止人们模拟此 Ja
  • PHP:解析器 asp 页面 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 早上好 我可以用 php 解析一个
  • Symfony/Form:函数 DoctrineType::__construct() 的参数太少

    我有一个奇怪的错误 我在自己的系统中实现了 Form 组件 我在那里创建了一个 FormType 其中使用 EntityType 作为字段 每次我想用 formBuilder 创建表单时 它都会抛出以下错误 Fatal error Unca
  • 在运行之前可以检查 imagecreatefromjpeg 是否会导致内存耗尽致命错误吗?

    我已经对此进行了一些搜索 并且我知道不可能从内存耗尽的致命错误中恢复 我有一个运行 imagecreatefromjpeg 的脚本 我尝试捕获异常 我尝试使用 运行该函数 然后检查返回值是否为 null 或 false 我尝试使用 die
  • Php Curl HTTP POST REQUEST 使用嵌套键值对设置自定义标头

    如何使用 Curl 在 php 中设置此标头 CustomInfo 元素是数组 嵌套键值对 AuthenticationInfo 元素是数组 嵌套键值对
  • 如何通过开始索引和结束索引提取子字符串?

    str HelloWorld sub substr str 3 5 echo sub prints loWor 我知道 substr 采用第一个参数 第二个参数是开始索引 而第三个参数是要提取的子字符串长度 我需要的是通过提取子字符串起始索
  • Monolog:通过邮件发送错误日志会导致每个发送的错误都会收到一封额外的邮件

    对于通过邮件发送的每个错误日志 我们都会收到另一封额外的电子邮件 其中包含 2 行 smtp 调试日志消息 新创建的 symfony 演示 symfony new demo 配置独白以通过邮件发送错误消息 如docs https symfo
  • 如何下载临时文件

    我正在尝试创建一个简短的 PHP 脚本 该脚本采用 JSON 字符串 将其转换为 CSV 格式 使用fputcsv 并使该 CSV 可作为下载的 csv 文件使用 我的想法是使用tmpfile 不用担心 cronjobs 或磁盘空间不足 但
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • Symfony VS CakePHP:哪一个最接近 PHP [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我主要是一名 Rails 开发人员 但有时 我必须使用 PHP 进行编码 因为 stackoverflow com更喜欢可以回答的问题 我想知道
  • 通过 IP 地址限制 Laravel 错误日志

    When debug被设定为true在 Laravel 的app config php有什么方法可以限制结果Whoops包含对某些 IP 地址的堆栈跟踪的错误页面 并且不在该列表中的 IP 显示特定视图 Thanks 没有内置 但是你可能可
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row

随机推荐

  • 循环遍历maven中的特定资源文件生成源

    我使用 maven antrun plugin 从 thrift IDL 生成源代码 我有一个单独的项目 和 jar 来保存这些生成的源 并且这个插件不支持通配符替换 所以我不能说 thrift 我使用执行任务来生成源代码并将它们复制到 s
  • 使用 dplyr 填充缺失的序列值

    我有一个数据框 其中缺少 SNAP ID 值 我想根据之前的非缺失值 lag 的序列 用浮点值填充缺失值 如果可能的话 我真的很想仅使用 dplyr 来实现这一目标 假设 永远不会丢失数据 因为我根据数据集的最小和最大之间的缺失天数生成缺失
  • Android 模拟器复选框和单选按钮错误 - ui 上显示各种不正确的状态

    最近 我发现模拟器的显示单选按钮和复选框有奇怪的行为 它不是只有 2 种 UI 状态 更具体地说 它显示 4 种不同甚至更多 我想它们是冻结的动画状态 在布局检查器和新版本的 API 上 它看起来很正常 请看下面的图片 我在 Api 版本
  • python 中 time.sleep 的奇怪打印行为[重复]

    这个问题在这里已经有答案了 我试图通过在同一行上每秒打印一个点来创建一个类似进度的东西 比如 钓鱼 之类的 这是我用的 import time print Fishing end for i in range 5 time sleep 1
  • WPF 迭代数据网格

    使用 WPF C NET4 5 使用 Visual Studio 2012 ulti 旧的 winforms 代码 foreach DataGridViewRow paretoRow in ParetoGrid Rows if Conver
  • pygame 平台游戏 - 如何使底部坚固?

    所以我正在制作一个 pygame 平台游戏 但我被困在一件事上 我找不到一种方法来使我的平台底部变得坚固 玩家可以降落在其顶部 但当它试图穿过底部时 它会弹回下方 我尝试了这个但没有成功 hits pg sprite spritecolli
  • 通过C#反射获取类内Enum的类型

    我有一个像这样的枚举 namespace EnumTest public class Enumeration public Enumeration public enum Days day sunday night monday 我怎样才能
  • MongoDB oplog有键名带点的记录,无法查询,afaict

    鉴于 Mongo 允许使用 点 设置嵌套字段 例如 rs0 PRIMARY gt db tmp update a 1 set b c 2 upsert true rs0 PRIMARY gt db tmp findOne id Object
  • jQuery 自动完成@mention

    我有 Andrew Whitaker 的这个自动完成插件 DEMO假设我有一个字符串textarea 欢迎 peterwaterber 我希望它在隐藏标签中输出为 彼得沃特伯 欢迎 我该怎么办 我不太擅长Javascript 我尝试过查看这
  • 隐式移动与复制操作和遏制

    当类有一个未定义移动操作的成员时 我很难理解隐式移动操作 int main struct A no move move copy A default A const A cout lt lt A copy ctor n A operator
  • Pandas DF 上的 Cumsum,负累积值重置为零

    我在 Pandas DF 中有一个时间顺序分组表 我正在尝试在组内创建一个运行总和 条件是运行总和不能为负数 即当运行总和变为负数时 列单元格值重置为零 并继续运行总和计算以保持完整性和数据质量 我已将 cumsum 与 groupby 函
  • ubuntu:所有 Android 模拟器(x86 和 arm)都卡在“连接到套接字‘127.0.0.1:1970’时出错:111 -> 连接被拒绝”

    我已经尝试了所有的 Android 模拟器 但它们都停留在以下步骤 emulator Error while connecting to socket 127 0 0 1 1970 111 gt Connection refused emu
  • 合并多个数组的行数据

    我有两个数组 如下所示 我需要合并数组的内容 以便最终得到第三个数组所示的结构 我已经检查了 array merge 但无法弄清楚这是可能的方式 任何帮助表示赞赏 谢谢 gross value gt 100 quantity gt 1 gr
  • 大 VLA 溢出

    根据某人在另一个线程中的评论 VLA 带来的问题比它们解决的问题还要多 因为你永远不知道 如果声明会因为 x 太大而崩溃 堆 这段代码会溢出 因为sizeof a 对于堆栈来说太长 include
  • 如何在 Jmeter Webdriver 采样器中使用 chromeoption 和desirecapability?

    我正在使用带有 chrome 浏览器的 Jmeter webdriver 采样器 我需要在 jmeter 中使用 chromeoption 和desire 功能 如何编码以使用这些选项 我想使用的示例代码可以是这样的 ChromeOptio
  • jQuery 拖放 ul 和 li 元素

    一方面我得到了清单 ul and li The ul and li 元素应该被拖放 目标是一个div or span 我怎样才能开始呢 基本上你的draggables将是 li li 元素和你的 droppable 将是 div or sp
  • 在 SELECT 中选择行作为列[重复]

    这个问题在这里已经有答案了 可能的重复 如何选择列作为行 我有一张带有 ID 的桌子 例如 Table 1 2 3 4 5 and so on 我有这个疑问 选择A B 这里我需要选择 Id 作为列 来自我的表 所以结果将是 A B 1 2
  • x86 GNU 汇编器奇怪的变化段错误

    下面的 x86 汇编代码可以很好地编译 并且它曾经在我学校的 Linux 服务器上完美运行 但是当将相同的代码应用到我的 Linux 虚拟机 ubuntu 14 04 时 突然会导致分段错误 堆栈约定是否发生变化 这是 GNU 汇编器问题吗
  • 更改 TextView 中的文本字距或间距?

    我有一个要求 TextView 中的字母需要间隔远一些 不幸的是 我找到的大多数资源似乎都表明这是不可能做到的 至少不容易做到 到目前为止 明显的解决方案是 在字符串中的字符之间添加空格 改为 A B C 的 ABC 当然 如果空间再多一点
  • 在函数中找不到 PHP 全局变量 [重复]

    这个问题在这里已经有答案了 可能的重复 PHP 中的全局变量 我有一个类似的 PHP 脚本 global var1 function func1 var1 gt something var1 not found why 我必须在每个函数中执