و دیگری اینکه چرا باید از توابع static استفاده کنم؟ به دلیل سرعت بیشتر؟ و اینکه آیا استفاده از توابع static، برنامه نویسی شی گرا رو شبیه برنامه نویسی رویه ای نمیکنه
بله، و اینکه بدون نیاز به ساخت شی کلاس هم قابل دسترسی هستند.
من کلاستون رو کمی بهینه سازی کردم. از این استفاده کنید:
<?php
final class Register
{
private $uName, $pass, $cpass, $mpass, $email;
private $regTime, $membersTable;
final public function Register($uName, $pass, $cpass, $email, $regTime)
{
$this->uName= &$uName;
$this->pass= &$pass;
$this->cpass= &$cpass;
$this->email= &$email;
$this->regTime= &$regTime;
unset($uName, $pass, $cpass, $email, $regTime);
}
final public function CheckEntries()
{
return((empty($this->uName) || empty($this->pass) || empty($this->email)) ? false : true);
}
final public function CheckPassword()
{
return(($this->pass != $this->cpass) ? false : true);
}
final public function GetMembersTable($membersTable)
{
$this->membersTable= &$membersTable;
unset($membersTable);
}
final public function CheckUserExists()
{
$result= &mysql_query("SELECT uname FROM " . $this->membersTable . " where uname= '$this->uName';");
return((mysql_numrows($result) > 0) ? true : false);
}
final public function AddMember()
{
$result= mysql_query("INSERT INTO " . $this->membersTable . " (uname, pass, email, regtime) VALUES('$this->uName', '$this->mpass', '$this->email', '$this->regTime');");
return(!$result ? false : true);
}
final private function _HashPassword()
{
$this->mpass= &md5(&$this->pass);
}
final private function _SetRegTime()
{
$this->regTime= &time();
}
final public function __destruct()
{
unset($this->uName, $this->pass, $this->cpass, $this->mpass, $this->email, $this->regTime, $this->membersTable);
}
};
?>
$objRegister= new Register('usrnme', 'paswd', 'paswd', 'eml', '22.22.22');