您好,欢迎访问一九零五行业门户网

PHP对象属性赋值丢失问题?

name = 'zhangsan'; } public function test2() { print_r($this->name); }}$obj = new demo();$obj->test1();$obj->test2(); // 输出 zhangsan我在一个php文件里面执行结果如上,但是我用框架开发网站测试调用的时候执行流程如下:1.我的test1方法跳到模板 ,并且方法里将$name 赋值了 'lisi'2.模板提交的时候提交到了test2,并且打印出属性$name为空这是为啥呢??

回复内容: name = 'zhangsan'; } public function test2() { print_r($this->name); }}$obj = new demo();$obj->test1();$obj->test2(); // 输出 zhangsan我在一个php文件里面执行结果如上,但是我用框架开发网站测试调用的时候执行流程如下:1.我的test1方法跳到模板 ,并且方法里将$name 赋值了 'lisi'2.模板提交的时候提交到了test2,并且打印出属性$name为空这是为啥呢??

想到的几种可能
1.不是同一个实例
前后引用对象的方式是否真的引用到同一个实例上?
2.有魔术方法改变了行为
php{self::confuse($name)} = $value; } private static function confuse($name) { return substr($name, 0, 4) !== 'bad_' ? bad_$name : $name; }}$o = new badass;$o->name = 'value';var_dump($o);//bad_name => value
是一个实体么
你要获取$name 直接使用$obj->name 不就获取了。
其它类似信息

推荐信息