开发者社区> 问答> 正文

php构造函数报错问题

<?php
class Person{
private $name;
private $age;
private $gender;
public function __construct($name,$age,$gender){
    $this->setName($name);
    $this->setAge($age);
    $this->setGender($gender);
}

public function setName($name){
    $this->name = $name;
}
}
// ... getter setter 方法
}
$peron = new Person("lee",18,'男');
?>

为什么报错呢 ?

展开
收起
小旋风柴进 2016-03-09 10:01:00 2132 0
1 条回答
写回答
取消 提交回答
  •  $this->setAge($age);
     $this->setGender($gender);

    你这2个 写错了吧。 你里面并没有 setAge 跟setGender函数
    <?php
    //构造函数各种情况,有参数,无参数都
    //主要认识:
    //1. 类内部调用函数要加$this->才能调用,当然静态除外
    //2. 构造函数参数是指被类外所调用的参数,跟类内无关,也就是说把类外new people()里面的参数传进来给类内属性初始化用的。
    class people
    {

    public $name="hnb";
    public $age=30;
    public function say()
    {
       echo "I can say";
    }
    public function __construct($m,$n,$t)
    {
        echo "this is construct";
        $this->name=$m;
        $this->age=$n;
         echo "<br />";
        $this->say();
        
        echo "<br />";
       // echo $t;
    }

    }
    //$rd=new people;
    //print_r($rd);
    $rd2=new people(5,35,40);
    print_r($rd2);
    echo "
    ";
    echo $rd2->name;
    echo $rd2->say();
    ?>

    2019-07-17 18:55:26
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载