即使我没有这个变量,当我访问它时,我也没有收到错误

     2023-02-16     76

关键词:

【中文标题】即使我没有这个变量,当我访问它时,我也没有收到错误【英文标题】:Even though I don't have a this variable, when I am accessing it, I am not getting an error 【发布时间】:2015-04-27 12:49:50 【问题描述】:
<?php
class Test
    public $test_1, $test_2;



$object = new Test();
$object->test_1 = "THIS IS A TEST";
$object->test_2 = "THIS IS A TEST 2";
$object->test_3 = "THIS IS A TEST 3";

var_dump($object);

如您所见,我没有名为 test_3 的变量。但我没有收到错误。它运行良好。为什么?这是我得到的输出。

object(Test)#1 (3) 
  ["test_1"]=>
  string(14) "THIS IS A TEST"
  ["test_2"]=>
  string(16) "THIS IS A TEST 2"
  ["test_3"]=>
  string(16) "THIS IS A TEST 3"

【问题讨论】:

您可以在 PHP 中动态创建成员变量 您设置了一个新变量。在这个社区问问题... @JohnConde,有什么办法可以限制吗? 是的。您可以覆盖 __set() 魔术方法并使其出错。让我看看能不能举个例子。 @eddard.stark John 在下面为您发布了答案。 【参考方案1】:

在 PHP 中,您可以动态创建公共成员变量。如果你想防止这种情况发生,你可以重载 __set() magic method 并在有人尝试这样做时抛出异常:

class Test
    public $test_1, $test_2;

    public function __set($name, $value) 
        throw new \Exception('You cannot do this!');
    

【讨论】:

AFNetworking 默默无闻

...到了AFNetworking的问题。具体来说,当我使用它时,什么也没有发生。我没有从服务器得到任何响应,但是,我也没有收到任何错误。所有属性最终都为NULL。这是我的要求:NSMutableDictionary*requestA 查看详情

Laravel 没有收到 paypal webhook 事件

】Laravel没有收到paypalwebhook事件【英文标题】:Laravelnotreceivingpaypalwebhookevents【发布时间】:2021-01-0518:33:43【问题描述】:你好,我是laravel的新手,我建立了一个电子商务平台(细节不重要)无论如何,我的问题是我创建了一条... 查看详情

为啥我会收到“静态错误:此类没有接受 String[] 的静态 void main 方法。”即使我有它?

...“静态错误:此类没有接受String[]的静态voidmain方法。”即使我有它?【英文标题】:WhydoIget"StaticError:ThisclassdoesnothaveastaticvoidmainmethodacceptingString[]."eventhoughIhaveit?为什么我会收到“静态错误:此类没有接受String[]的静态void... 查看详情

即使在安装框架后也没有这样的模块“解析”错误

】即使在安装框架后也没有这样的模块“解析”错误【英文标题】:Nosuchmodule\'Parse\'errorevenafterinstallingtheframeworks【发布时间】:2016-01-1221:03:24【问题描述】:即使我添加了所有需要的框架,我仍然收到错误“没有这样的模块解... 查看详情

Xampp Apache 无法访问端口 80,即使它没有被使用

】XamppApache无法访问端口80,即使它没有被使用【英文标题】:XamppApachenotabletoaccessport80eventhoughit\'snotinuse【发布时间】:2016-06-1005:22:25【问题描述】:这些是我在尝试从Xampp控制面板运行Apache时收到的错误消息。我使用的是Windows8... 查看详情

错误 C2512 没有合适的默认构造函数,即使我有一个?

】错误C2512没有合适的默认构造函数,即使我有一个?【英文标题】:ErrorC2512NoappropriatedefaultconstructoreventhoughIhaveone?【发布时间】:2013-12-0305:41:44【问题描述】:通过在符号结构中添加一个默认构造函数来解决,但我也想问一下... 查看详情

即使我只有一个参数,我也会收到“包装承诺不可迭代错误”

】即使我只有一个参数,我也会收到“包装承诺不可迭代错误”【英文标题】:I\'mgettinga\'Wrappedpromisenotiterableerror\'eventhoughIhaveonlyoneparameter【发布时间】:2019-07-2015:58:02【问题描述】:我正在尝试在我的node.js微服务中使用Promise.a... 查看详情

列在那里,但是当我尝试删除它时,它说 MYSQL 中没有列? **错误代码:1091。无法删除...**

】列在那里,但是当我尝试删除它时,它说MYSQL中没有列?**错误代码:1091。无法删除...**【英文标题】:Columnisthere,butwhenItrytodeleteitsaysnocolumninMYSQL?**ErrorCode:1091.Can\'tDROP...**【发布时间】:2016-08-0509:30:04【问题描述】:我尝试运... 查看详情

我的 deploycommands.js 文件在我使用脚本时没有运行,当我手动运行它时抛出错误

】我的deploycommands.js文件在我使用脚本时没有运行,当我手动运行它时抛出错误【英文标题】:Mydeploycommands.jsfileisnotrunningwhenIuseascriptandthrowinganerrorwhenIrunitmanually【发布时间】:2022-01-1323:48:03【问题描述】:在我的discord机器人中... 查看详情

ModuleNotFoundError:即使已安装,也没有名为“flask_mysqldb”的模块

】ModuleNotFoundError:即使已安装,也没有名为“flask_mysqldb”的模块【英文标题】:ModuleNotFoundError:Nomodulenamed\'flask_mysqldb\'evenifinstalled【发布时间】:2021-01-2713:25:34【问题描述】:我正在使用mysql和烧瓶来开发基本网站,即使我安装... 查看详情

出于某种原因,当我通过代码要求它时,我的动画没有在我想要的时候播放

...题描述】:当我使用我的斧头时,我试图播放动画,但是即使我对其进行了编码,它也不会播放。我知道OnTrggerStay可以工作,因为在我用来破坏僵尸的另一个脚本 查看详情

为啥即使实现了 Iterable,我也会收到 foreach 编译器错误?

】为啥即使实现了Iterable,我也会收到foreach编译器错误?【英文标题】:WhydoIgetaforeachcompilererroreventhoughIterableisimplemented?为什么即使实现了Iterable,我也会收到foreach编译器错误?【发布时间】:2019-05-2204:53:37【问题描述】:我正... 查看详情

即使我没有卸载应用程序,我是不是可以从 gcm 服务器收到错误消息“error_not_register”?

】即使我没有卸载应用程序,我是不是可以从gcm服务器收到错误消息“error_not_register”?【英文标题】:CanIreceivetheerrormessage"error_not_register"fromgcmserverevenifIdidn\'tuninstalltheapp?即使我没有卸载应用程序,我是否可以从gcm服务... 查看详情

没有名为 Pygments 的模块

】没有名为Pygments的模块【英文标题】:NomodulenamedPygments【发布时间】:2016-01-2406:29:41【问题描述】:我已将Pygments安装到我的virtualenv中,并且它似乎已正确导入到我的项目中。我正在使用PyCharm,并且我没有从IDE收到任何导入错... 查看详情

故事板 iOS MBProgressHUD

...会收到以下错误。然后,当我单击我的按钮调用它时,我没有弹出窗口。关于我可以做些什么来解决这个问题的任何想法?代码:HUD=self.navigationController.view;[ 查看详情

推送到heroku时rubyonrails错误

...65.git'在执行此操作时,我在RubyonRails的主分支上,但似乎没有任何改变以达到目的。我也花了很多时间在这里尝试解决它,似乎没有任何工作。我已经尝试在主分支上更新Git到Heroku但是当我尝试使用Git命令更新它时,Ruby终端在... 查看详情

素数 III 第 18 题 - 即使我认为我是对的,我也没有得到正确的答案

】素数III第18题-即使我认为我是对的,我也没有得到正确的答案【英文标题】:PrimeNumbersIIIProblem18-IdontgettherightanswereventhoughIthinkIamright【发布时间】:2011-09-0317:28:16【问题描述】:我是新来的。我正在尝试解决这个练习Problem18,... 查看详情

Vuex mapMutations 没有按预期工作

】VuexmapMutations没有按预期工作【英文标题】:VuexmapMutationsisn\'tworkingasexpected【发布时间】:2019-12-2515:52:21【问题描述】:我有一个命名空间存储(命名空间:true),我正在尝试通过mapMutations访问它。当我通过mapMutations调用它时... 查看详情