рдбреЗрдЯрд╛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдо рдбреЗрдЯрд╛ рдореИрдкрд░

рдпреЗ 2 рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдорд╛рд░реНрдЯрд┐рди рдлрд╛рдЙрд▓рд░ рдХреА рдкреБрд╕реНрддрдХ "рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдПрдкреНрд▓реАрдХреЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕" рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдмрдЪрдд рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдЯреЗрдореНрдкрд▓реЗрдЯ


class Foo { protected $db; public $id; public $bar; public function __construct(PDO $db) { $this->db = $db; } public function do_something() { $this->bar .= uniqid(); } public function save() { if ($this->id) { $sql = "UPDATE foo SET bar = :bar WHERE id = :id"; $statement = $this->db->prepare($sql); $statement->bindParam("bar", $this->bar); $statement->bindParam("id", $this->id); $statement->execute(); } else { $sql = "INSERT INTO foo (bar) VALUES (:bar)"; $statement = $this->db->prepare($sql); $statement->bindParam("bar", $this->bar); $statement->execute(); $this->id = $this->db->lastInsertId(); } } } //Insert $foo = new Foo($db); $foo->bar = 'baz'; $foo->save(); 

рдЗрд╕ рд╕рд░рд▓реАрдХреГрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ рдлреВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рдлреВ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред Do_something рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдЯрдм рдореЗрдердб рд╣реИ рдЬреЛ рдмрд┐рдЬрд╝рдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред

рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд╛рдн



рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдиреБрдХрд╕рд╛рди



рдбреЗрдЯрд╛ рдореИрдкрд░ рдЙрджрд╛рд╣рд░рдг


 class Foo { public $id; public $bar; public function do_something() { $this->bar .= uniqid(); } } class FooMapper { protected $db; public function __construct(PDO $db) { $this->db = $db; } public function saveFoo(Foo &$foo) { if ($foo->id) { $sql = "UPDATE foo SET bar = :bar WHERE id = :id"; $statement = $this->db->prepare($sql); $statement->bindParam("bar", $foo->bar); $statement->bindParam("id", $foo->id); $statement->execute(); } else { $sql = "INSERT INTO foo (bar) VALUES (:bar)"; $statement = $this->db->prepare($sql); $statement->bindParam("bar", $foo->bar); $statement->execute(); $foo->id = $this->db->lastInsertId(); } } } //Insert $foo = new Foo(); $foo->bar = 'baz'; $mapper = new FooMapper($db); $mapper->saveFoo($foo); 

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

рдбреЗрдЯрд╛ рдореИрдкрд░ рдХреЗ рд▓рд╛рдн



рдбреЗрдЯрд╛ рдореИрдкрд░ рдХрд╛ рдиреБрдХрд╕рд╛рди



рд╕реЗрд╡рд╛ рд╡рд╕реНрддреБ


рдбреЗрдЯрд╛ рдореИрдкрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреЙрд▓рд░ рдХреЛ рдореИрдкрд░ рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдХреЙрд▓ рдХреЛрдб рд╣реИ, рддреЛ рдЕрдВрддрддрдГ рдЖрдкрдХрд╛ рдореЙрдбрд▓ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рд▓реАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рдорд░реНрдерди рдФрд░ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕реЗрд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреЗрд╢ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реЗрд╡рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдореЙрдбрд▓ рдХреЗ рдмреАрдЪ рдХрд╛ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдореИрдкрд░ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдПрдорд╡реАрд╕реА рдореЗрдВ рдПрдо рдПрдХ рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рдкрд░рдд рд╣реИ, рди рдХрд┐ рдореЙрдбрд▓ рдСрдмреНрдЬреЗрдХреНрдЯред рддреЛ рдПрдХ рдореЙрдбрд▓ рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ (рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реЗрд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ, рдПрдХ рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдПрдХ рд╕рд┐рдВрдЧрд▓ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореИрдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдЖрдк рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рдореЙрдбрд▓ рдХреЗрд╡рд▓ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рд░рд▓, рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИрдВ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдХрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдУрдЖрд░рдПрдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

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

рдпрд╣ рд░рд╕реЗрд▓ рд╡реЙрдХрд░ рдХреЗ рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИред

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


All Articles