douyiji3919 2014-04-16 18:14
浏览 77
已采纳

使用构造函数初始化变量的正确方法

Is this the correct way of initializing the variables using constructor?

class Customer
{
    public $custId;
    public $custName;
    function _construct()
    {
        $this->custId   = 'Eazy01';
        $this->custName = 'EazyLearnKaloor';
    }

    function DisplayDetails()
    {
        echo "$custId<br>";
        echo "$custName";
    }
}

$obj = new Customer();
$obj->DisplayDetails();
  • 写回答

6条回答 默认 最新

  • doudong4532 2014-04-16 18:17
    关注

    You need to use double undersores as in __construct().

    class Customer
    {
        public $custId;
        public $custName;
        function __construct()
        {
            $this->custId   = 'Eazy01';
            $this->custName = 'EazyLearnKaloor';
        }
    
        function DisplayDetails()
        {
            echo "$this->custId<br>"; // use $this here
            echo "$this->custName"; // use $this here
        }
    }
    
    $obj = new Customer();
    $obj->DisplayDetails();
    

    Also you could pass variables to constructor:

        function __construct($id, $name)
        {
            $this->custId   = $id;
            $this->custName = $name;
        }
    

    Then when initialising new class you can do:

    $var = new Customer('Eeazy01', 'EazyLearnKaloor');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Matlab求解微分方程,如何用fish2d进行预优?