Sud*_*ha 9 php oop overloading
我有一个这样的类,有一个重载的构造函数
<?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);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
以上代码提供错误: error:Fatal error: Cannot redeclare User::User()
正如其他语言如C++和Java使用上述方法来重载构造函数如何在PHP OOP中执行它?
我在LAMP*中使用*PHP 5.3.2,在这个版本中应完全支持OOP概念
Maj*_*ons 12
PHP没有重载.它有一系列神奇的方法,在手册中被描述为重载(参见:http://php.net/manual/en/language.oop5.overloading.php),但它并不是你想到的.
另外,在PHP 5+中编写构造函数的正确方法是使用__construct方法:
public function __construct(/* args */)
{
// constructor code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12770 次 |
| 最近记录: |