加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

构造函数在PHP中重载

发布时间:2020-12-13 18:23:07 所属栏目:PHP教程 来源:网络整理
导读:问题Approch 我有一个这样的类,有一个重载的构造函数 码 ?php /* Users Abstract Class*/abstract class User { protected $user_email; protected $user_username; protected $user_password; protected $registred_date; //Default constructor function U
问题Approch

我有一个这样的类,有一个重载的构造函数

<?php 
/*
  Users Abstract Class

*/
abstract class User 
{

    protected $user_email;
    protected $user_username;
    protected $user_password;
    protected $registred_date;


    //Default constructor
    function User()
    {

    }

    //overloded constructor
    function User($input_username,$input_email,$input_password)
    {
    __set($this->user_username,$input_username);
    __set($this->user_email,$user_password);
    __set($this->user_password,$input_password);
    }

}


?>

问题细节

上面的代码提供了一个错误:错误:致命错误:无法重新声明User :: User()

正如其他语言如C和Java使用上述方法来重载构造函数如何在PHP OOP中执行它?

附加信息

我在LAMP *中使用* PHP 5.3.2,在这个版本中应完全支持OOP概念

PHP没有重载.它有一系列神奇的方法,在手册中被描述为重载(参见: http://php.net/manual/en/language.oop5.overloading.php),但它并不是你想到的.

另外,在PHP 5中编写构造函数的正确方法是使用__construct方法:

public function __construct(/* args */)
{
    // constructor code
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读