
рдПрдХ рд╣рд▓реНрдХреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЧреБрдЧрд▓реА рдХреА рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрд╕реА-рднрд╛рд╖рд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдЬрдЧрд╣ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЕрдВрдд рдореЗрдВ рд░реЛрдХ рджрд┐рдпрд╛ рдерд╛ рдФрд░ рдЪреВрдВрдХрд┐ рдХрд╛рдлреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Silex рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреЛрд╕реНрдЯ PHPixie рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧреАред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдореЗрд░реА рддреБрд▓рдирд╛ рдирд╣реАрдВ рдкрдврд╝реА рд╣реИ,
PHPixie рдПрдХ рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдорд╛рдирдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрд░рдЪрдирд╛, рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП DI, рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреА рдХрдореА рдФрд░ рд╕рд░рд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рддреЗрдЬрд╝ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рдкрд░, рд╕рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкрд░рд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдореВрд▓ рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╣рдо Youtube рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдПрдВрдЧреЗред рдпрд╣реА рд╣реИ, рд╣рдо рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рд╣рдо рдпрд╣ рднреА рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдореЗрдЯрд╛ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдЯреИрдореНрдмрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП YouTube рдХреЗ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг
PHPixie рдХреЛ рдХрдВрдкреЛрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рд╕рд╛рдЗрдЯ рд╕реЗ рддреИрдпрд╛рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓рдЧрднрдЧ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдиреИрдкрд╢реЙрдЯ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреАрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рдХреЛрд░, рдбреАрдмреА рдФрд░ рдУрдЖрд░рдПрдо) рдХреЗ рд╕рд╛рде рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд╕реНрдиреИрдкрд╢реЙрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдпрд╣рд╛рдВ рд╣реИ
phpixie.com/phpixie.zip ред рд╕рд░реНрд╡рд░ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдВрджрд░
/ рд╡реЗрдм / рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╕ рдЗрддрдирд╛ рд╣реА, рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рди рдХреЗ рдкрд╛рд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЧреНрд░реАрдЯрд┐рдВрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
$ рдкрд┐рдХреНрд╕реА рд╡рд╕реНрддреБ
$ рдкрд┐рдХреНрд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐ рдХрдВрдЯреЗрдирд░ рдФрд░ рд▓реЛрдХреЗрдЯрд░ рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЬреЛ Silex рдореЗрдВ $ рдРрдк рдХреЗ рд╕рдорд╛рди рд╣реИред рдпрд╣ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рд▓рдЧрднрдЧ рд╣рд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИ, $ рдкрд┐рдХреНрд╕реА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпрд╛рдВ рднреА рд╣реЛрддреА рд╣реИрдВред рдЗрд╕рдХрд╛ рд╕рдореБрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЛ рд╡рд░реНрдЧ рдмрдВрдзрди рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдЪрдиреЗ рдФрд░ рдЗрд╕рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред Silex рдХреЗ рд╡рд┐рдкрд░реАрдд, $ рдкрд┐рдХреНрд╕реА рдореЗрдВ рддрд░реАрдХреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдХреЗрд╡рд▓ рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдЖрдзрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА App \ Pixie рд╡рд░реНрдЧ рд╣реИ рдЬреЛ PHPixie / Pixie рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдмрд╕ рдЗрд╕рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рд╣рд░ рдЬрдЧрд╣ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛрдб рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕реА рддрд░рд╣, рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрднреА рднреА рд╕реНрдерд┐рд░ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП db рдпрд╛ orm, рдХрд╛рд░рдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ, рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЛ $ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ App \ Pixie рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП $ рдкрд┐рдХреНрд╕реА-> рдбреАрдмреА-> рдХреНрд╡реЗрд░реА () рдФрд░ $ рдкрд┐рдХреНрд╕реА-> рдСрд░рдо-> рдкреНрд░рд╛рдкреНрдд (), рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕реВрдк рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ App \ Pixie рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕
рд╣рдо рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдпрд╣рд╛рдВ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
CREATE TABLE `videos` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `video_id` VARCHAR(20) NOT NULL, `title` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) );
рдЕрдм рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
/assets/config/db.php рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рд▓рд┐рдЦрддреЗ рд╣реИрдВ :
return array( 'default' => array( 'user'=>'root', 'password' => '', 'driver' => 'PDO', 'connection'=>'mysql:host=localhost;dbname=videos' ) );
рдпрд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рддреБрдЪреНрдЫ рд╣реИред
рдЖрджрд░реНрд╢
рдХреЛрдИ рднреА MVC рд╕рдВрд░рдЪрдирд╛ рдПрдХ рдореЙрдбрд▓ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╣реИ, рд╡реАрдбрд┐рдпреЛред
рдХреЛрд╣рдирд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рддреБрд░рдВрдд рдШрд░ рдкрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдЧрд╛, рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕
\ PHPixie \ ORM \ рдореЙрдбрд▓ рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ:
namespace App\Model; class Video extends \PHPixie\ORM\Model{}
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЯреЗрдмрд▓ рдкрд░ рдмрд╛рдВрдзрдиреЗ рд╕реЗ рд╡рд░реНрдЧ рдирд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕рд╛ рд╣реИ рдФрд░ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред $ рдкрд┐рдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╕рдмрд╕реЗ рд╣рдбрд╝рддрд╛рд▓реА рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
рдореВрд▓ рдорд╛рд░реНрдХрдЕрдк
рд╣рдордиреЗ рдЬреЛ рдЖрдзрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рд╣реИ, рдЙрд╕рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ, рд╡рд░реНрдЧ App \ Pixie рдХреА рдЙрдк-рдкреНрд░рдЬрд╛рддрд┐ рд╣реИред рдЙрдирдХреА рдиреМрдХрд░реА $ рджреГрд╢реНрдп рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз main.php рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдмрд▓рддреА рд╣реИред рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ $ рд╕рдмрд╡реНрдпреВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ - рд╕рдмрдкреИрдЯрд░реНрди рдХрд╛ рдирд╛рдо рдбрд╛рд▓рд╛ рдЬрд╛рдирд╛ред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рддрдереНрдп рдкрд╕рдВрдж рдЖрдпрд╛ рдХрд┐ рдорд╛рд╕реНрдЯрд░ рдкреЗрдЬ рдФрд░ рд╕рдмрдкреИрдЯрд░реНрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░реНрдХ рдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╣реА рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╣реА рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рд░реАрдореЗрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ main.php рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
<!DOCTYPE html> <html> <head> <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css" rel="stylesheet"/> </head> <body> <div class="container"> <div class="row"> <div class="offset3 span6"> <h2><a href="/">PHPixie Vids</a></h2> <!-- --> <form class="form-inline" method="post" action="/videos/add"> <input type="text" placeholder="Paste LinkтАж" name="url"> <button type="submit" class="btn btn-primary">Add new</button> </form> </div> </div> <div class="row"> <!-- --> <?php include($subview.'.php'); ?> </div> </div> </body> </html>
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рджреЛ рдЙрдк-рд╕рдореВрд╣ рд╣реИрдВ: list.php (рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд▓рд┐рдк рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП) рдФрд░ view.php (рдЪрдпрдирд┐рдд рдХреИрд░рд┐рдпрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП)ред рдпрд╣рд╛рдБ рд╡реЗ рд╣реИрдВ:
<!-- /assets/views/list.php --> <div class="offset3 span6"> <ul class="thumbnails"> <?php foreach($videos as $video):?> <li class="span3"> <a class="thumbnail" href="/videos/view/<?php echo $video->id; ?>"> <!-- --> <img src="http://img.youtube.com/vi/<?php echo $video->video_id;?>/0.jpg"> <div class="caption"> <h3><?php echo $video->title;?></h3> </div> </a> </li> <?php endforeach;?> </ul> </div>
<div class="offset3 span6"> <!-- --> <iframe width="420" height="345" src="http://www.youtube.com/embed/<?php echo $video->video_id; ?>?rel=0&autoplay=1"></iframe> </div>
рдорд╛рд░реНрдЧ
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдЬрд╛рдПрдВ рд╣рдореЗрдВ рдЗрд╕реЗ /assets/config/routes.php рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдорд╛рд░реНрдЧ рдЖрдзрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИ рдФрд░ рдпрд╣
/ рдирд┐рдпрдВрддреНрд░рдХ / рд╡рд┐рдзрд┐ / рдЖрдИрдбреА рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рд╣рдореЗрдВ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реИрд▓реЛ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдмрджрд▓рдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
return array( 'default' => array('(/<controller>(/<action>(/<id>)))', array(
рдирд┐рдпрдВрддреНрд░рдХ
рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ 3 рдкреЗрдЬ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ 3 рддрд░реАрдХреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
namespace App\Controller; class Videos extends \App\Page { public function action_index(){ $this->view->subview = 'list'; $this->view->videos = $this->pixie->orm->get('video')->find_all(); } public function action_add(){ $this->redirect('/');
рд╕рднреА рдФрд░ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЪрдпрди рдХреЗ рдХрд╛рд░реНрдп рддреБрдЪреНрдЫ рд╣реИрдВред
рдЕрдм рдПрдХ рдирдпрд╛ рд╡реАрдбрд┐рдпреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред YouTube рд▓рд┐рдВрдХ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ 'v' рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
www.youtube.com/watch?v=75nBenowul0 , рд╣рдо рдЗрд╕реЗ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ parse_url () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореБрдЭреЗ рд╕рдмрд╕реЗ рд╕рдЯреАрдХ рд▓рдЧрд╛, рдЗрд╕ рддрд░рд╣:
parse_str(parse_url( $url, PHP_URL_QUERY ), $vars ); $video_id = $vars['v'];
рдЖрдк рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХреЗ рдирд╛рдо, рд▓рд┐рдВрдХ рдкрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
youtube.com/get_video_info?video_id= <video id>ред рдЗрд╕ рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдЕрдм рд▓рд╛рдкрддрд╛ рдПрдХреНрд╢рди_рдбрдб () рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
public function action_add(){ if($url = $this->request->post('url')){ parse_str(parse_url( $url, PHP_URL_QUERY ), $vars ); $video_id = $vars['v']; $response = file_get_contents("http://youtube.com/get_video_info?video_id=".$video_id); parse_str($response, $data); $video = $this->pixie->orm->get('video'); $video->title = $data['title']; $video->video_id = $video_id; $video->save(); } $this->redirect('/'); }
рдФрд░ рд╡реЛрдЗрд▓рд╛! рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИ:

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