PDA

View Full Version : سوال: آیا این روش پیاده سازی کلاس صحیحه ؟



DR.HTML
دوشنبه 19 خرداد 1393, 22:42 عصر
با سلام دوستان من یه کلاس برای لاگین ساختم که در صورتی که کاربر وجود داشته باشه چک میکنه مدیره یا نه خاستم نظرتونو بدونم سوالیم که داشتم اینجور بود که توی توابع کلاس تقسیم بندی بیشتر خوبه یا هرچی کمتر باشه ؟ مثلا همین کد من رو میشه دوتا تابع رو یکی کرد کلا اشتباهاتکو میخوام بدونم
<?php
class lc
{

function __constructor($u,$p)
{
include 'cfg/config.php';
$sql = "SELECT count(*) FROM `user` WHERE `username` = '$u' AND `password` = '$p' ";
$result = $db->prepare($sql);
$result->execute();
$number_of_rows = $result->fetchColumn();
if($number_of_rows=='1')
return true;
else
return false;
}
function checkmod($u,$p)
{
include 'cfg/config.php';
$sl = "SELECT count(*) FROM `user` WHERE `username` = '$u' AND `password` = '$p' AND `flag` = '1' ";
$rt = $db->prepare($sl);
$rt->execute();
$nor = $rt->fetchColumn();
if($nor=='1')
return true;
else
return false;
}
}

$u=$_POST['user'];
$p=$_POST['pass'];
$lock=new lc($u,$p);
if($lock)
{
echo "user is avalabe";
if($lock->checkmod($u,$p))
echo "</br> $u is mod!";
}
else
echo "there is problem ";
?>

lord_viper
سه شنبه 20 خرداد 1393, 08:13 صبح
نوشتن توابع داخل کلاس بسته به نیاز برنامه هست و یکی از مهمترین چیزهایی که وجود داره کمتر کردن کد و کد نویسی هست تا خوانایی و رفع اشکال سریعتر بشه وقتی شما با 2 خط کد کارتون راه می افته چرا میخواهید تبدیلش کنید به 10 خط کد
و نیازی هم به نوشتن 2 تا کوئری و ایجاد سربار اضافه نیست



class lc
{
public $is_admin = false;
function __constructor($u,$p)
{
include 'cfg/config.php';
$sql = "SELECT flag FROM `user` WHERE `username` = '$u' AND `password` = '$p' ";
$result = $db->prepare($sql);
$result->execute();
$number_of_rows = $result->fetchColumn();
if(empty($number_of_rows))
return false;
else
{
$this->is_admin = ($number_of_rows==1)?true:false;
return true;
}
}
}

DR.HTML
سه شنبه 20 خرداد 1393, 11:03 صبح
فكر ميكنم كار كلاس شما فقط تشخيص كاربر مديره يا نه درسته ؟ اگر درست فکر میکنم پس شما منظور منو متوجه نشدین چون من میخوام اول تشخیص بدم کاربر وجود داره یا نه چون ممکنه کاربر باشه اما مدیر نباشه پس هدف اول من تشخیص معتبر بودن کاربره . اگرم من کد شمارو متوجه نشدم میشه توضیح بدید ؟