рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВрдиреЗ рд╢рд╛рдирджрд╛рд░
Silex рдорд╛рдЗрдХреНрд░реЛ рдлреНрд░реЗрдорд╡рд░реНрдХ, рдФрд░
ORM рдореЙрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд╕реА рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ред рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
Silex рдПрдХ рд╣рд▓реНрдХрд╛, рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдорд╛рдЗрдХреНрд░реЛ-рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ
рд╕рд┐рдореНрдлрдиреА 2 рдФрд░
рдкрд┐рдВрдкрд▓ рдШрдЯрдХреЛрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд - рдПрдХ ORM рдЗрдВрдЬрди рдЬреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВред
рд▓реЗрдЦ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред
рдЦреИрд░, рдПрдХ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдХрдВрдкреЛрдЬрд░.рдЬреЙрди рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
{ "minimum-stability": "dev", "require": { "php": ">=5.3.3", "silex/silex": "1.*", "taluu/doctrine-orm-provider": "1.0.*" }, "config": { "bin-dir": "bin" } }
рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЗрд╕рдореЗрдВ, рд╣рдо рдЙрд╕ рдЬрдЧрд╣ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯ (рдЙрдкрдирд╛рдо) рдмрдирд╛рдПрдЧрд╛ред
composer install
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдбрд╝ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ -
app/src
, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдПрдВред
рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рдж (рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдореИрдВрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛) рдореИрдВрдиреЗ
src
рдХрд╣рд╛ред
рдирд┐рдореНрди рдХреЛрдб рдХреЛ
index.php
рдЬреЛрдбрд╝реЗрдВ:
рдпрд╣рд╛рдВ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ $ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИ app.php:
рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рдХрдореНрдкреЛрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреНрд▓рд╛рд╕ рдСрдЯреЛрд▓реИрдбрд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ .php, рд╣рдо рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ: $ app-> get (), $ app-> рддреНрд░реБрдЯрд┐ (), рдЖрджрд┐ред
рд╣рдо registers.php рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ:
src/TestApp
рдФрд░
src/TestApp/Entity
Doctrine рдХрдВрд╕реЛрд▓ рдкреНрд░рдмрдВрдзрди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░реЗрдВ
рдЖрдкрдХреЛ рдбреЙрдХрдЯреНрд░рд┐рди рдХреЗ рдХрдВрд╕реЛрд▓ рдЯреВрд▓реНрд╕ (рдЗрд╕рдХреЗ рдмрд╛рдж рдмрд╕ рдХрдВрд╕реЛрд▓) рдореЗрдВ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЙрдкрд▓рдмреНрдз рд╣реИ,
bin
рдореЗрдВ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдХрдВрд╕реЛрд▓ рдФрд░ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
cli-config.php
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдпрд╣ рдлрд╝рд╛рдЗрд▓
vendor/doctrine/orm/tools/sandbox
, рд╡рд╣рд╛рдВ рд╕реЗ
bin
рдХреЙрдкреА рдХрд░реЗрдВред рдЕрдм,
$helpers
рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджреЗрдВред
рд╕рднреА рд░рд┐рдореЛрдЯ рдХреЛрдб рдмрдирд╛рдП рдЧрдП рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдереЗред рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ?
рдпрд╣рд╛рдБ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ рдбреЙрдХрдЯрд╛рдЗрди рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ, рд╣рдо
$app['db.orm.em']
рд╕реЗ EntityManager рдХреА рдПрдХ рдкреНрд░рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдХрд▓реНрдк:
- рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ, рдРрд╕рд╛ рди рдХрд░реЗрдВ:
рдлрд┐рдХреНрд╕ рдмрд┐рди / doctrine.php:
$configFile = getcwd() . DIRECTORY_SEPARATOR . 'bin/cli-config.php';
рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореВрд▓ рдореЗрдВ cli-config.php рд░рдЦрдХрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдПрдХ рддрд░рдл, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдХреЛрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рджреВрд╕рд░реА рддрд░рдл, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред - рдЖрдк рдПрдХ рдФрд░, рдЕрдзрд┐рдХ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдХрдВрд╕реЛрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЦреБрдж рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:
рдЕрдм рдЖрдкрдХреЛ рдмрд┐рди / рдХрдВрд╕реЛрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рд░ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
./bin/console [command_name]
рд╡рд┐рд╖рдп рдкрд░ рдФрд░ рдХреНрдпрд╛ рдкрдврд╝реЗрдВ:
рдбреЙрдХреНрдЯреНрд░рд┐рди рдкрд░ рд░реВрд╕реА рдкреНрд░рд▓реЗрдЦрдирд╕рд┐рджреНрдзрд╛рдВрдд ORM рдЕрдВрдЧреНрд░реЗрдЬреА рдкреНрд░рд▓реЗрдЦрдиUPD: рдЧрд┐рд▓реЗрдм рдкрд░ рдПрдХ рдвреЗрд░ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдХрд┐ рд╕рд┐рд▓реЗрдХреНрд╕ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рдСрд░рдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╣реИред рд╕рдЪ рд╣реИ, ORM рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ