• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایا این روش شی گرایی صحیح است
#1
سلام
من جدیدا شی گرایی با php رو شروع کردم
حالا یک کلاس نوشتم که چندین متد داره ، میخواستم ببینم این روش که در پایین هست صحیح است یا باید برای هر کدام از کارها مثل ثبت نام ، ورود ، دریافت اطلاعات و ... کاربر یک کلاس بنویسم
ممنون میشم راهنمایی کنید
نمونه کد :

کد پی‌اچ‌پی:
<?php

class user
{

    public 
$user;
    public 
$Pass;
    public 
$name;
    public 
$email;
    public 
$id;

    function 
userlogedin()
    {
        if (isset(
$_COOKIE["login"])) {
            return 
true;
        } else {
            return 
false;
        }
    }

    function 
userloign($user$pass)
    {
        
$dbconnect = new db();
        
$sql "select * from user where user = :user and pass = :pass";
        
$result $dbconnect->connect->prepare($sql);
        
$result->bindParam("user"$user);
        
$result->bindParam("pass"$pass);
        
$result->execute();
        
$rows $result->rowCount();
        if (
$rows 0) {

            
$user $result->fetch(PDO::FETCH_OBJ);
            
$this->user $user->user;
            
$this->pass $user->pass;
            
$this->name $this->pass;
            
$this->id $this->id;
            
setcookie("login"$this->usertime() + 86400);
            echo 
'Your Are SUscessfully LoGined In My SIte';
        } else {
            echo 
'User Or Password Incorrect';
        }


    }

    function 
userregister($user$pass$name$email)
    {
        
$dbconnect = new db();
        
$sql "insert into user (user,pass,email,name) values (:user,:pass,:email,:name)";
        
$result $dbconnect->connect->prepare($sql);
        
$result->bindParam("user"$user);
        
$result->bindParam("pass"$pass);
        
$result->bindParam("name"$name);
        
$result->bindParam("email"$email);
        if (
$result->execute()) {
            echo 
"User Add";
        } else {
            echo 
"Fail To Add User";
        }
    }

    function 
logout()
    {
        
setcookie("login"$this->usertime() - 86400);
        
header('location:?page=login');

    }

    function 
userinfo($username)
    {
        
$dbconnect = new db();
        
$sql "select * from user where user = :user ";
        
$result $dbconnect->connect->prepare($sql);
        
$result->bindParam("user"$username);
        
$result->execute();
        
$user $result->fetch(PDO::FETCH_OBJ);

        
$this->user $user->user;
        
$this->name $user->name;
        
$this->email $user->email;
        
$this->id $user->id;


    }

    function 
delete($username)
    {
        
$dbconnect = new db();
        
$userF = new user();
        
$userF->userinfo($username);
        
$id $userF->id;
        
$sql "delete from user where id = :id";
        
$result $dbconnect->connect->prepare($sql);
        
$result->bindParam("id"$idPDO::PARAM_INT);
        if (
$result->execute()) {
            echo 
'Your UserName Deleted';
        } else {
            echo 
'fail';
        }
    }

    function 
update($username,$newusername,$name,$email)
    {
        
$dbconnect = new db();
        
$user = new user();
        
$user->userinfo($username);
        
$id $user->id;
        
$sql "update user set user = :user ,  email = :email ,  name = :name  where id = :id";
        
$result $dbconnect->connect->prepare($sql);
        
$result->bindParam("user",$newusername);
        
$result->bindParam("email",$email);
        
$result->bindParam("name",$name);
        
$result->bindParam("id",$id,PDO::PARAM_INT);
       if(
$result->execute())
       {
           echo 
'updated';
       }
       else
        {
            echo 
'fai;';
        }


    }
}

?>
  پاسخ
تشکر شده توسط :
#2
نیازی به نوشتن کلاس برای هر کار نیست
برای هر اکشن که انجام میدین یک تابع نیاز هست که در کلاس شما توابع برای انجام کارهای مختلف وجود داره
برای نوع کاری که انجام میشه کلاس های مختلف ایجاد کنید مثلا
یک کلاس برای مدیریت کاربران=> ثبت نام و ورود و دریاقت اطلاعات
یک کلاس برای دیتابیس => وارد کردن ، دریافت ، به روز رسانی اطلاعات
یک کلاس برای لاگ کردن => ایجاد ، ویرایش و حذف لاگ
و....
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان