构造函数在PHP中重载

前端之家收集整理的这篇文章主要介绍了构造函数在PHP中重载前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题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
}
原文链接:/php/135622.html

猜你在找的PHP相关文章