PDA

View Full Version : چند سوال ابتدایی در مورد شی گرایی



persian-boy
شنبه 12 فروردین 1391, 12:50 عصر
سلام دوستان

سال نو مبارک

چند سوال ابتدایی داشتم .

سوال اول :
من میخوام یک کلاس دیتابیس ایجاد کنم و داخلش از PDO استفاده کنم .

آیا این روش اشتباه هست ؟ لقمه چرخواندن های اضافی و ... داره ؟




class DataBase extends mainclass{

public $db;

function __construct() {

$settings = mainclass::getvar();
$Host = $settings['dbhost'];
$DbName = $settings['dbname'];
$DbUserName = $settings['dbusername'];
$Password = $settings['dbpassword'];


$this->db=$db= new PDO("mysql:dbname=$DbName;host=$Host","$DbUserName","$Password");

}

function dbquery($sql) {
$query = $this->db->query($sql);
return $this->db->fetch();
}

}



سوال بعدیم این هست که اگر به این شکل باشه چه فرقی میکنه ؟



class DataBase extends mainclass{

function __construct() {

$settings = mainclass::getvar();
$Host = $settings['dbhost'];
$DbName = $settings['dbname'];
$DbUserName = $settings['dbusername'];
$Password = $settings['dbpassword'];

$link = mysql_connect($Host,$DbUserName,$Password) or die(mysql_error());
mysql_select_db($DbName,$link) or die(mysql_error());


}


function dbquery($sql) {


$this->query = $sql;
return mysql_query($sql);

}}


ممنون میشم پاسخ بدید

روش اول در کوئری های زیاد مشکلی پیش نمیاد ؟

persian-boy
شنبه 12 فروردین 1391, 23:45 عصر
یک سوال دیگه هم پیش آمد . اگر یک متد را با public ایجاد کنیم چه فرقی با اینکه همون متد رو به صورت معمولی ایجاد کنیم میکنه ؟

farhadfery
یک شنبه 13 فروردین 1391, 08:27 صبح
من میخوام یک کلاس دیتابیس ایجاد کنم و داخلش از PDO استفاده کنم .
کار درستی انجام می دید.
در مورد تفاوت هم , خوب عزیز خودتون گفتید دیگه اولی PDO و دومی mysql_connet. ببین خودت کدام را راحت تر می تونی انجام بدی همون را کاملس کن (البته PDO خیلی بهتره)
در مورد public private protect اینها مفاهیم اولیه شی گرایی هستند. برای اینکه شی گرا کار کنید. بشینید یه مقاله ای یه کتابی بخونید تا نکاتش دستتون بیاد.

parselearn
یک شنبه 13 فروردین 1391, 08:48 صبح
آیا استفاده از کلاس یعنی شی گرایی؟!

farhadfery
یک شنبه 13 فروردین 1391, 22:00 عصر
آیا استفاده از کلاس یعنی شی گرایی؟!
به احتمال خیلی زیاد شما جواب این سوال را خودتون می دونید و از بیان این سوال هدفی داشته اید, که خوشحال می شم بفرمایید.
من هم ذکر کنم که: نخیر. شی گرا برابر کلاس نیست. بلکه کلاس جز مفاهیم شی گرایی است. من وقتی که مهندسی نرم افزار 2 را خوندم فهمیدم که شی گرایی را واقعا نمی دونم. چون متوجه شدم در حقیقت شی گرایی یک بینش و فهم خاص است و فراتر از آن ویژگی های معمول هست. کلاس و متد و ... ابزار پیاده سازی و بخشی از آن هستند نه خود آن.