PDA

View Full Version : سوال: شی گرایی



mohsen_nikoei
شنبه 16 بهمن 1395, 18:12 عصر
سلام رفقا قطعه کد زیر رو ببیند




$user = DB::table('users')->where('name', 'John')->first();




کار به دستور ندارم که چیکار میکنه
ببینید الان از این دستور میدونیم که DB یه کلاسه و table یه فانکشن از این کلاس که یه ارگومان میگیره...بقیه ش رو متوجه نمیشم که where ابجکته یا فانکشن اصلا خود table ابجکته یا فانکشن و اون first

plague
شنبه 16 بهمن 1395, 18:35 عصر
وقتی پرانتز داره یعنی فانکشنه دیگه !
متد چینینگ رو سرچ کن اینجا
http://barnamenevis.org/showthread.php?534133-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%B4%D8%AF%D9%86-%D8%AF%D8%B1-php-%D8%A8%D8%A7%DB%8C%D8%AF-%DA%86%DA%A9%D8%A7%D8%B1%DA%A9%D9%86%D9%85%D8%9F&p=2354625#post2354625

mohsen_nikoei
شنبه 16 بهمن 1395, 19:26 عصر
وقتی پرانتز داره یعنی فانکشنه دیگه !
متد چینینگ رو سرچ کن اینجا
http://barnamenevis.org/showthread.php?534133-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%B4%D8%AF%D9%86-%D8%AF%D8%B1-php-%D8%A8%D8%A7%DB%8C%D8%AF-%DA%86%DA%A9%D8%A7%D8%B1%DA%A9%D9%86%D9%85%D8%9F&p=2354625#post2354625


حب میتونه سازنده ابجکت هم باشه اما حالا ک میگید فانکشنه چطور با عملگر -> فانکشن first رو صدا میزنه ...این عملگر فانکشنا یا فیلدای یه کلاس رو صدا میزنه از طریق ابجکتی که از اون کلاس ساختیم

plague
شنبه 16 بهمن 1395, 21:12 عصر
منظورت از سازنده آبجکت رو نمیدونم چیه اگه منظورت همون کانستراکتوره که خب اونم یه تابعه
در مورد اینکه چجوری کار میکنن لینکی که دادم رو بخونید
من کلاسی که داری بررسی میکنی رو نخوندم به نظر میاد orm لاراول باشه (که اونم من نگاش نکردم تا حالا ) ولی این مثال ساده میتونه توضیح بده عملکرد مشابه اون رو



class DB {

private $table ;

static function table($tbl){
$new_object= new DB();
$new_object->table = $tbl;
return $new_object;
}

function first(){
/// do stuff
}

function where(){
/// do stuff
}


}