рдПрдХ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рд╕реЗрдЯрд░ рдХреНрдпрд╛ рд╣реИ

рдЫрд╡рд┐

рдЖрдЬ PhPStorm рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдирд┐рдЬреА рдЪрд░ рдмрдирд╛рдпрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ IDE рдореБрдЭреЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЗрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ: рдирд┐рдпрдорд┐рдд рд╕реЗрдЯрд░ рдФрд░ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рд╕реЗрдЯрд░ред

"рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рд╕реЗрдЯрд░" рд╢рдмреНрдж рдореБрдЭреЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдПред

/* PHP */ class Foo { private $var; //  setter public function setVar($var) { $this->var = $var; } //  fluent setter public function setVar($var) { $this->var = $var; return $this; } } 

рд╣рд╛рдБ, рддреЛ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рд╕реЗрдЯрд░ рд╣реА рд╡рд╣ рд╕реЗрдЯрд░ рд╣реИ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЦреБрдж рд▓реМрдЯрд╛рддрд╛ рд╣реИ ред

рдХреНрдпрд╛ рдмреЗрд╡рдХреВрдлреА рд╣реИред рдХреМрди рдПрдХ рджреГрд╢реНрдп рдбрд┐рдЬрд╛рдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

 $object = $object->setVar(1); //     ,    $object->setVar(1); //      ,   $sameObject = $object->setVar(1); 

рдпрд╣ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд╣реИред

рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдореИрдВрдиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ред рдЗрд╕реЗ рд╣реА jQuery рдЪреИрдирд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реМрдЯреА рд╣реБрдИ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рддреБрд░рдВрдд рдЕрдЧрд▓реЗ рд╕реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 /* Javascript */ $('#elementId').val(13).css('font-size', '20px').appendTo(element2); //     : $('#elementId') .val(13) .css('font-size', '20px') .appendTo(element2); 

рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рд╡рд╛рд╕рд┐рдпреЛрдВ рдХреЛ рдХреЛрдб рдХреЛ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдХреНрд▓реАрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╣рд╛рдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЬрд╛рд╡рд╛ рдФрд░ PHP рдореЗрдВ рднреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВред

 /* php */ $car->setColor('#f00')->setWeight('1200')->setPower(55000); $car ->setColor('#f00') ->setWeight('1200') ->setPower(55000); 

рдЕрдЬрдЧрд░ рдореЗрдВ, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рдпрдерди рд╕реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рддрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВред рдкрд╛рдЗрдерди рдореЗрдВ рдлреЙрд░реНрдо рд╕реЗрдЯ_рд╡рд░ () рдХреЗ рд╕реЗрдЯрд░реНрд╕ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рд╛рджрдЧреА рдХреЗ рдкрд╛рдпрдерди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИред

 # python #  @property car.color = '#f00' car.weight = 1200 car.power = 55000 # fluent-,    .   ?   . car.color('#f00').weight('1200').power(55000) #      ... car.set_color('#f00').set_weight('1200').set_power(55000) #    ,    ,     . car.set_color('#f00') \ .set_weight('1200') \ .set_power(55000) 

рдмрд╛рдж рдореЗрдВ рдореБрдЭреЗ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдорд┐рд▓рд╛, рдЬрд╣рд╛рдВ рдореИрдВ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЖрдВрдЦреЗрдВ рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдЬрдЧрд░ рдЙрджрд╛рд╣рд░рдг рдЖрдпрд╛ ред

рдЖрддреНрдо-рд╢рд┐рдХреНрд╖рд╛ рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi429020/


All Articles