
рдЕрддреАрдд рдореЗрдВ, рд▓реЗрдЦ "рдСрд░реНрдХрд┐рдб рд╕реАрдПрдордПрд╕ - рд▓рд╛рд░рд╡реЗрд▓ рдкрд░ рдПрдХ рдФрд░ рд╕реАрдПрдордПрд╕" рд╣реИрдмреЗ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдФрд░ рдЕрдм рджреЛ рд╕рд╛рд▓ рдФрд░ 100 рд╕реЗ рдЕрдзрд┐рдХ рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рд╣рдо рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЦрдбрд╝реЗ рдереЗред
1. рдкреЛрдЬрд┐рд╢рдирд┐рдВрдЧ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдФрд░ рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рд╕рдВрдХреНрд╖реЗрдк рд╕реАрдПрдордПрд╕ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛, рдЬреЛ рдЧреАрд▓реЗ рд╕рдкрдиреЗ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдерд╛ред рдЙрд╕реА рд╕рдордп, рдкреИрдХреЗрдЬ рдиреЗ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреА рдирдХрд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХреА, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреНрд░рд╢рд╛рд╕рди рдореЗрдВ рдкреНрд░рдмрдВрдзрдиред
рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдмрджрддрд░ рдерд╛ ... рдЗрд╕ рд╕рдВрдпреЛрдЬрди рдиреЗ рд╣реА рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдХреНрдХрд╛ рджрд┐рдпрд╛, рдФрд░ рдирдП рд▓реЛрдЧреЛрдВ рдиреЗ рдХреБрдЫ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреА рд╕рд╛рдорд╛рдиреНрдп рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреАред
рдЬрдм рдпрд╣ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ рд╡рд╣ рд╣реИ рдлреЙрд░реНрдо рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо blade
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░ рдмрдиреЗ рдПрдХ рдлреЙрд░реНрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
<form action="..."> <input type="text" name="title"> <input type="text" name="price"> <input type="submit" value=""> </form>
рдкреНрд░рдмрдВрдзрдХ, рд╕рдВрдкрд╛рджрдХ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдкрд╛рджрди рд╡рд╕реНрддреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реВрдЪрдирд╛ рдмрд╣реБрдд рдЦреАрдВрдЪреА рдЬрд╛рддреА рд╣реИ?
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╡рд╣ рдмрд╕ рдХрдИ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдлрд╝реЙрд░реНрдо рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдкрддреНрд░ рдкрд░ рдЯреИрдм рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд░рд┐рд╢реНрддреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХреГрдд рдХреА рдЬрд╛рдПрдЧреА:
<form action="..." id="main"> <input type="text" name="title"> <input type="text" name="price"> <input type="submit" value=""> </form> <form action="..." id="editors"> <input type="submit" value=""> </form> <form action="..." id="history"> <input type="submit" value=""> </form>
рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдорд╛рдореВрд▓реА рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ ... рдмреЗрд╢рдХ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдЕрд░реНрде рд╡рд╣реА рд░рд╣рд╛ред рдЕрдиреНрдп рд░реВрдкреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрд▓рдЧ рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдореЗрдВ:

рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╕реБрдкрд░рдЗрдореНрдкреЛрдЬрд╝рд┐рдВрдЧ, рдХреЛрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлреЙрд░реНрдо рд▓рдЧрднрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ:
class Example extends Form { public $name = 'General'; public function rules(): array { return [ 'title' => 'required|max:160' ]; } public function display(): View { return view('main'); } public function persist(Model $model) {
рдФрд░ рдкреВрд░реЗ рд╕рдореВрд╣ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдЧрдарди:
class ExampleController extends Controller { public function index(Model $model) { $form = new FormGroup([ Example::class
рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдФрд░ рдХреЛрдб рдХреЗ рдЫреЛрдЯреЗ рд╕рдВрдЧрдарди рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХреЛрдИ рдЕрдиреНрдп рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд▓рд╛рдпрд╛ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:
- рдЗрд╕ рдкрджреНрдзрддрд┐ рдиреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрдИ рддрддреНрд╡реЛрдВ рдХреЗ рджреЛрд╣рд░рд╛рд╡ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ "рд╢реАрд░реНрд╖рдХ" рдлрд╝реАрд▓реНрдб рдХрдИ рдмрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлреЙрд░реНрдо рдХреА рдкреВрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХрднреА рдирд╣реАрдВред
- "рдорд╛рдирдХ" рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдПрдХ рдЕрд▓рдЧ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЬрд┐рд╕рдиреЗ рдлреЙрд░реНрдо рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреВрд░реЗ рдмрд┐рдВрджреБ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред
- рди рд╣реА рдХрд┐рд╕реА рджреГрд╢реНрдп рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХреЛрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рдЖрдкрдХреЛ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
3. CRUD
рд╕рдмрд╕реЗ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╡рд┐рдХрд▓реНрдк, рдЬреЛ рдЕрдХреНрд╕рд░ рд╕рдорд╛рдЪрд╛рд░ рдлрд╝реАрдб рдФрд░ рдмреНрд▓реЙрдЧ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ рд╕рднреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрдХреЗрдЬреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рдж рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдореЙрдбрд▓ рдПрдХ рдЧрддрд┐рд╢реАрд▓ JSON
рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛:

рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдореЗрдВ, рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
class Example extends Behavior { public $name = 'Main'; public function rules(): array { return [ 'title' => 'required|max:160' ]; } public function fields(): array { return [ Input::make('title') ->type('text') ->max(160) ->required(), ]; } }
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рд░рд▓ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреА рдкреВрд░реА рдХрдореА рдХреЗ рдХрд╛рд░рдг рддреЗрдЬ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХрд╛рдлреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ:
- рдХрд╕реНрдЯрдо рдСрдкрд░реЗрд╢рди рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рднреАрддрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред
- рдПрдХ рдЧрддрд┐рд╢реАрд▓ рджреГрд╢реНрдп, рдЬреИрд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
- рдорд╛рдореВрд▓реА рд╡рд┐рдЪрд▓рди рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд╛рд░реНрдЯрд┐рдВрдЧ, рд╣рдо рдлрд┐рд░ рд╕реЗ рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде
blade
рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд┐рдЦрдиреЗ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВред - рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ред
- рдХреЗрд╡рд▓ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдХрд╛рдо рдХрд░реЗрдВ, рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдФрд░ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдпрд╣ рдерд╛ред
рд╕реБрдзрд╛рд░
рд╕реАрдЖрд░рдпреВрдбреА рд╕рдВрд╕реНрдХрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рд╕реНрддреБрддрд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛, рдЬрд┐рд╕рдиреЗ рдЕрдВрддрддрдГ рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рдпрд╛ред рдЗрд╕ рдмрд╛рд░, рдПрдХ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓рд╛рдЗрдЯрд╕реНрд╡рд┐рдЪ рдЙрддреНрдкрд╛рдж рдХреЛ рдПрдХ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЧрд╣рди рдЬреНрдЮрд╛рди рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рд▓рдХреНрд╖реНрдп рднреА рдирд╣реАрдВ рд╣реИ, рдЬрдмрдХрд┐ рд▓рдЧрднрдЧ рд╕рднреА рддрдХрдиреАрдХреА рдХреНрд╖рдорддрд╛рдПрдВ рд▓рд╛рд░рд╡реЗрд▓ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдореМрдЬреВрдж рдереАрдВред
рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкрд╣рд▓реВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╕реНрдХреНрд░реАрдиред

рд╕реНрдХреНрд░реАрди рд╡рд╣ рд╕рдм рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреГрд╖реНрда рдкрд░ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд╕рдм рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд╡рд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдбреЗрдЯрд╛ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддрд╛ рд╣реИ, рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕, рдПрдкреАрдЖрдИ рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддред рдкреНрд░рдХрдЯрди рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░рддреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рдкрд░рдд рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓реЗрдЖрдЙрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рддрд╛рд▓рд┐рдХрд╛, рдкрдВрдХреНрддрд┐, рдЧреНрд░рд╛рдлрд╝ рдЖрджрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЖрдЙрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдиреЗрд╕реНрдЯрд┐рдВрдЧред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди рдХреЛ рджреЛ рдХреЙрд▓рдо рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЧрдпрд╛ рд╣реИ, рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдПрдВ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рджрд╛рдИрдВ рдУрд░ рдПрдХ рд▓реБрдХ-рдЕрдк рдЯреЗрдмрд▓ рдФрд░ рдЧреНрд░рд╛рдл рд╣реИ, рдЖрджрд┐ред
рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрджреЗрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддреЗ рд╣реИрдВред
class ExampleScreen extends Screen { public $name = 'Example Screen'; public function query(Model $model): array { return [ 'model' => $model ]; } public function commandBar(): array { return [ Link::make('-') ->link('http://orchid.software/ru') ->icon('icon-globe-alt'), ]; } public function layout(): array { return [ Layout::rows([ Input::make('model.title') ->type('text') ->max(160) ->required(), ]) ]; } }
рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╕реНрдЯреЙрдк рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реНрдг рд▓реЗрдЦрди рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрд╡рд╕реНрде рд╕рдВрддреБрд▓рди рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╢реЗрд╖ рд╣реИред