如何解决PHP开发中出现的未定义变量与未定义属性警告问题
问题原因分析
你代码里的警告是两处语法错误导致的:
get_name()方法中错误使用了动态属性写法$this->$name:PHP中$this->后直接跟属性名即可,不需要额外加$符号。额外加$会触发动态属性解析,先读取当前作用域下的$name变量作为属性名,而该方法内没有定义$name变量,就会先后抛出未定义变量、未定义属性警告。get_age()方法同时存在两个错误:一是和上面一样多写了$符号,二是错误调用了name相关属性而非age属性,返回值不符合预期。
修复后代码
<?php // 已修复代码 class Pet { public $name; public $age; // name属性的get/set方法 function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } // age属性的get/set方法 function set_age($age) { $this->age = $age; } function get_age() { return $this->age; } } .....
补充说明:该问题已解决,无需再提交新的回答。
内容的提问来源于stack exchange,提问作者Kent23
相关产品推荐
相关产品推荐

