рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо
Silex
PHP рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг
REST
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВрдЧреЗ, рдЬреЛ
Silex
рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдЧрд╛ рдФрд░ рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░реВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдЧрд╛ред
Silex рд╕рд┐рдореНрдлрдиреА рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ PHP рдорд╛рдЗрдХреНрд░реЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдЕрдЧрд▓реЗ
рд╣рдм рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░реВрдВрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ
рдЦрд┐рд▓реМрдиреЛрдВSilex рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
Silex
рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП
Composer
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдкрдиреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
composer require silex/silex ~1.1
рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде, рдЖрдкрдиреЗ рдХрдореНрдкреЛрдЬрд╝рд░ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рдореНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛:
require
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рддрд╛ рд╣реИ- рдкреНрд░рд╛рд░реВрдк рдкреНрд░рджрд╛рддрд╛ (рд╡рд┐рдХреНрд░реЗрддрд╛) / рдкреИрдХреЗрдЬ (рдкреИрдХреЗрдЬ) рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд╛
silex / silex
рдирд╛рдо ~ 1.1
- рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг, ~ 1.1 рдХрд╛ рдЕрд░реНрде> = 1.1, <2.0 рд╣реИ
рдЬрдм рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрдореНрдкреЛрдЬрд╝рд░ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ - рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдХреНрдпреЛрдВрдХрд┐ Silex рдХреЛ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЬреИрд╕реЗ рд╣реА рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдорд┐рд▓реЗрдЧреА, рдЬреЛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
toyshop/ composer.json composer.lock vendor/ ...
рд╕рднреА Silex рдХреЛрдб рд╡рд┐рдХреНрд░реЗрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ 2 рд╕рдВрдЧреАрддрдХрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкреИрдХреЗрдЬ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред
Composer.json
рдЖрдЗрдП рд╕рдВрдЧреАрддрдХрд╛рд░.рдЬреЙрди рдХреЗ рдЕрдВрджрд░ рджреЗрдЦреЗрдВ, рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
{ "require": { "silex/silex": "~1.1" } }
Composer.lock
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдирдХреЗ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ
vendor/
рдлреЛрд▓реНрдбрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЖрдкрдХреЛ рдмрд╕
composer.json
рдФрд░
composer.lock
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░, рдЬреИрд╕реЗ рд╣реА рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдмрд╕
composer install
рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
Composer
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ
Composer
рд╕реНрдерд╛рдкрд┐рдд
Composer
ред
рдорд╛рд░реНрдЧ рдирд┐рд░реНрдорд╛рдг
рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдПрдХ рдЦрд┐рд▓реМрдиреЗ рдХреА рджреБрдХрд╛рди рд╣реИ, рдЖрдЗрдП рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рдЬреЛ рд▓реЛрдЧ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдПрдБрдЧреЗ, рд╡реЗ рдЙрдкрд╣рд╛рд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рддреЛ рдЪрд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЙрдкрд╣рд╛рд░реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВрдЧреЗред
рдПрдХ
index.php
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗ:
<?php require_once __DIR__.'/vendor/autoload.php'; $app = new Silex\Application();
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рдорд╛рд░реНрдЧ рдШреЛрд╖рд┐рдд рд╣реИрдВ:
/
рдФрд░
/{stockcode}
рдорд╛рд░реНрдЧ /
рдпрд╣ рд╕рднреА рдЦрд┐рд▓реМрдиреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ рд╣реИред рдпрд╣ рд╕рдм рд╡рд┐рдзрд┐ рдЬреЛ рдХрд░рддрд╛ рд╣реИ рд╡рд╣
JSON
рдореЗрдВ рджрд┐рдП рдЧрдП рдПрдХ рдХреЛ рдПрдирдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рдбреЗрдЯрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред
$toys
рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ
use($toys)
рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди {рдЦреЛрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред
рд░реВрдЯ /{stockcode}
рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦрд┐рд▓реМрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ рд╣реИ, рдЬрд┐рд╕реЗ
stockcode
рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рдорд╛рд░реНрдЧ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
use($toys)
рд╣рдо рд╕реНрд╡рдпрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:
Silex\Application $app $stockcode.
Silex\Application $app
рдПрдХ Silex рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рд╣рдо рдПрдХ рд╕реБрдВрджрд░ 404 рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЧрд▓рдд рд╕реНрдЯреЙрдХрдХреЛрдб рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
$stockcode
рдЦрд┐рд▓реМрдиреЗ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЪрд░ {рд╕реНрдЯреЙрдХрдХреЛрдб} рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдорд╛рд░реНрдЧ рдореЗрдВ рд╣реИред
рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг
Index.php рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдЧреЛрдВ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
toyshop toyshop/00001
toyshop toyshop/00001
рдФрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╡реЗрд░реА рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреАред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
toyshop/00001
toyshop/00001
рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреА:
{"name":"Raspberry Pi","quantity":"13","description":"...","image":"raspberry_pi.jpg"}
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдкрдХреЗ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рдкрд░ json_decode рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTMLред
Silex рдХреНрдпреЛрдВ?
рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рд╣реИред
рдЙрддреНрддрд░: рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рдорд╛рдЗрдХреНрд░реЛ-рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореБрдЭреЗ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ Silex рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рд╕реНрд▓рд┐рдо, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдорд╛рдЗрдХреНрд░реЛ-рдлреНрд░реЗрдорд╡рд░реНрдХ, рдпрд╛ рд╕рд┐рдореНрдлрдиреА рдпрд╛ рдЬрд╝реЗрдВрдб рдЬреИрд╕реЗ рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдиреЛрдЯреНрд╕
рдореИрдВ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ Silex рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде, рдЬреИрд╕реЗ PUT, POST, DELETE (рдиреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг)
$app->post('/toys', function (Silex\Application $app) use ($toys) {
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдПрдХ рдкреВрд░реНрдг REST рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред