Mr.Moqadam
New Member
متدهای زنجیره ای یا Method Chaning
در این آموزش قصد دارم نحوه ساخت متذهای زنجیره ای یا Method Chaning رو بهتون آموزش بدم.
حتمن توی استفاده از کلاسهای مختلف و فریم ورکها به متدهایی برخوردیم که به صورت زنجیره ای نوشته میشن.مثل زیر :
کلاس زیر رو در نظر بگیرید :
برای استفاده از این کلاس به صورت زیر عمل میکنیم :
که خروجی به شکل زیر میشه :
User name is Saeed and User Last Name is Moqadam
استفاده از متدهای زنجیره ای
برای ساخت متدهای زنجیره ای باید به صورت زیر عمل کنیم :
که به صورت زیر میشه ازش استفاده کرد :
دیدید که برای ساخت چنین متدهایی کافیه در آخر هر متد یک شیء از کلاستون رو با استفاده از کلمه کلیدی $this رو برگردونید.
متدهای زنجیره ای درکلاسهای چندگانه
اگر توی یک پروژه چندتا کلاس مختلف دارین Method Chaning میتونه کار شما رو راحتتر کنه.برای این کار به کلاس زیر دقت کنید :
برای استفاده از این کلاس به صورت زیر عمل میکنیم :
میبینید که برای این کار فقط کافیه یک شیء از کلاس مورد نظر رو برگردونیم.
موفق باشید
منبع http://phpro.ir/?p=63
در این آموزش قصد دارم نحوه ساخت متذهای زنجیره ای یا Method Chaning رو بهتون آموزش بدم.
حتمن توی استفاده از کلاسهای مختلف و فریم ورکها به متدهایی برخوردیم که به صورت زنجیره ای نوشته میشن.مثل زیر :
PHP:
<?php
echo $data->find()->where(' id = 1')->orderby('id DESC')->fetch();
?>
PHP:
<?php
class user
{
private $name ;
private $Lname;
public function setName($name)
{
$this->name = $name;
}
public function setLname($Lname)
{
$this->Lname = $Lname;
}
public function findMe()
{
echo "User Name is : $this->name and User Last Name is $this->Lname";
}
}
?>
PHP:
<?php
$user = new User();
$user->setName = "Saeed";
$user->setLname("Moqadam");
$user->findMe();
?>
User name is Saeed and User Last Name is Moqadam
استفاده از متدهای زنجیره ای
برای ساخت متدهای زنجیره ای باید به صورت زیر عمل کنیم :
PHP:
<?php
class user
{
private $name ;
private $Lname;
public function setName($name)
{
$this->name = $name;
return $this;
}
public function setLname($Lname)
{
$this->Lname = $Lname;
return $this;
}
public function findMe()
{
echo "User Name is : $this->name and User Last Name is $this->Lname";
}
}
?>
PHP:
<?php
$user = new User();
$user->setName("Saeed")->setLname("Moqadam")->findMe();
?>
متدهای زنجیره ای درکلاسهای چندگانه
اگر توی یک پروژه چندتا کلاس مختلف دارین Method Chaning میتونه کار شما رو راحتتر کنه.برای این کار به کلاس زیر دقت کنید :
PHP:
<php
class ComplexPerson
{
public function setName($Name)
{
return new FindNames($Name);//Returns object of FindNames class.
}
public function setAge($Age)
{
$this->age = $Age;
return new FindAges($Age);//Returns object of FindAges class.
}
}
class FindNames
{
private $name;
public function __construct($n)
{
$this->name = $n;
}
public function printName()
{
echo "I am ".$this->n.".";
}
}
class FindAges
{
public function __construct($a)
{
$this->age = $a;
}
public function printAge()
{
echo "I am ".$this->age." years old.";
}
}
?>
PHP:
$anotherMe = new ComplexPerson();
$anotherMe->setName("Saeed")->printName();
$anotherMe->setAge("24")->printAge();
موفق باشید
منبع http://phpro.ir/?p=63