PHP рдбреЗрдХреЛрд░реЗрдЯрд░ рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдбреЗрдХреЛрд░реЗрдЯрд░ рдЦреБрдж рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрди рдХрд╛рд░рдгреЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рд╕реНрддреНрд░реАрдп рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ, рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдпрд╛ рд░реВрд╕реА рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЫрд╡рд┐ рдЗрд╕рд▓рд┐рдП, рд▓реЗрдЦ рд╣реА рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рдЧрддрд┐рд╢реАрд▓ рд╕рдЬрд╛рд╡рдЯ, рд╕реНрдереИрддрд┐рдХ рд╕рдЬрд╛рд╡рдЯ рдХреА рд╡реНрдпрд╛рдкрдХ рддрдХрдиреАрдХ рдХреЗ рд╡рд┐рдкрд░реАрддред

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

рдбреЗрдХреЛрд░реЗрдЯрд░ (рдКрдкрд░ рд▓рд┐рдВрдХ) рдкрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдВрдбреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╕рдЬрд╛рд╡рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЬрд╛рд╡рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд░реВрдк, рд▓реЗрдХрд┐рди рдбреЗрдХреЛрд░реЗрдЯрд░ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛:

class Window { use TDecorator; private $title; function __construct($title) { $this->title = $title; } function draw() { // Draws window below // ... // Draws decorations. $this->renderDecoration('draw'); } } class VerticalScrollbar { use TDecoration; private $vWidth; private $vHeight; function __construct($width, $height) { $this->vWidth = $width; $this->vHeight = $height; } function draw() { echo 'Drawing vertical scrollbar for the window "' . $this->title . "\"\n"; echo 'Width: ' . $this->vWidth . "px\n"; echo 'Height: ' . $this->vHeight . "px\n"; } } // Decorates window with a vertical scrollbar. $wnd = new Window('My application'); $wnd->decorateWithObject(new VerticalScrollbar(20, 20)); $wnd->draw(); 

рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдЬрд╛рдиреЗ рдкрд░, рдпрд╣ рди рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдФрд░ рдирд┐рдЬреА рддрд░реАрдХреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рддрдХ рднреА рдкрд╣реБрдВрдЪрддрд╛ рд╣реИред рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд░реНрдЯрд┐рдХрд▓рд╕реНрдХреЙрд▓рд░ рдХреНрд▓рд╛рд╕ рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рддреА рд╣реИ , рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдПред

рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдЬрд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ; рдирдП рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ:

 class Integer { use TDecorator; protected $value; function __construct($value) { $this->value = intval($value); } } $integer = new Integer(9); $integer->decorateWith('isOdd', function() { return (boolean) ($this->value % 2); }); echo $integer->isOdd(); // echoes true 

рдЕрд╢реБрджреНрдзрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред

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


All Articles