рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕
рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдПрдХ рдСрдирд▓рд╛рдЗрди рднреМрддрд┐рдХреА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рдиред рд▓реЗрдХрд┐рди рд▓рдЧрд╛рддрд╛рд░ рдХреБрдЫ рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХреА: рд╕рдордп рдХреА рдХрдореА, рдЬреНрдЮрд╛рди рдХреА рдХрдореА,
рдЖрд▓рд╕реНрдп , рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдПрдХ
рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдврд╛рдВрдЪрд╛ рдпрд╛ рд╕реАрдПрдордПрд╕ ред
рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░
рдкрд╣рд▓реЗ, рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХрд╛рдо рдкрд░ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрддреНрдкрд╛рджрдХ рдкреНрд░рдпрд╛рд╕ рджреБрдЦрдж рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп (рд╢реБрд░реВ рдореЗрдВ) рдмрд╣реБрдд "рдореВрд▓ рдкреНрд░рдгрд╛рд▓реА" рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдерд╛, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд░рдирд╛ рдерд╛ред рд╕рдВрднрд╡рддрдГ рддреАрд╕рд░реЗ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд╛рдж, рдФрд░ рдЕрдкрдиреА рдЧрд▓рддреА рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдврд╛рдБрдЪреЗ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХреАред рдЪреБрдирд╛рд╡ рдлреИрдЯрдлреНрд░реА рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛ред
FatFree рдлреНрд░реЗрдорд╡рд░реНрдХ рдЙрд░реНрдл тАЛтАЛF3 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ
рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп рд╣реИрдмрд░
http://habrahabr.ru/post/103167/ , рдФрд░
http://habrahabr.ru/post/135619/ рдкрд░ рдкреЛрд╕реНрдЯ рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
рдореИрдВ рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдмрд╛рддреЛрдВ рдХреЛ рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди F3 рдХреЗ рд╕рд╛рде рд░реЛрдмреЛрдЯ рдкрд░ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдиреБрднрд╡ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред
рд╣рдо рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ F3 рдореЗрдВ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рд╣реИ
F3::Set('INCLUDE','path/to/files');
рдФрд░ рдЬрдм рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рдЧреНрд░рд╣рдг рдХреА, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдорд╛рд░реНрдЧреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧреА:
F3::Set('INCLUDE','path/to/module-1'); F3::route('GET /module1/action1','action1.php'); F3::route('GET /module1/action2','action2.php'); ... F3::Set('INCLUDE','path/to/module-2'); F3::route('GET /module2/action1','action1.php'); F3::route('GET /module2/action2','action2.php');
рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рд╕рдорд╛рд╡реЗрд╢ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдореИрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдЧреНрд░рд╕реНрдд рдерд╛ред
рд╕реНрдореЛрдХ рдмреНрд░реЗрдХ рдХреЗ рджреМрд░рд╛рди рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ ...
F3::Set('INCLUDE','path/to/'); F3::route('GET /module1/action1','module1/action1.php'); F3::route('GET /module1/action2','module1/action2.php'); ... F3::Set('INCLUDE','path/to/'); F3::route('GET /module2/action1','module2/action1.php'); F3::route('GET /module2/action2','module2/action2.php');
рд▓реЗрдХрд┐рди рд╕рдордп рдХреЗ рд╕рд╛рде, рдпрд╣ рдирд┐рд░реНрдгрдп, рдЧреБрдордирд╛рдореА рдореЗрдВ рдбреВрдм рдЧрдпрд╛, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ index.php рдорд╛рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдХреНрдпреЛрдВ рдкреИрджрд╛ рд╣реЛрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рдЙрдирдХреЗ рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ index.php рдлрд╝рд╛рдЗрд▓ (рдореЙрдбреНрдпреВрд▓ / рдореЙрдбреНрдпреВрд▓рдПрди / index.php)
рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╕реВрдЪрдХрд╛рдВрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдХреЗрд╡рд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд░рд╣рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдПрдХ DB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдПрдл 3 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯреЛрдВ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдЕрджреНрднреБрдд рдПрдХреНрд╕реЙрди рдХреНрд▓рд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдирд╛рдо рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ рдЗрд╕рдиреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА рд▓реМрдЯрд╛ рджреАред рд╢реБрд░реВ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рджреЛ рдпрд╛ рддреАрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрди рдЖрдП, рддреЛ рдХрдИ рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдорд╛рди рд▓реА рдЧрдИрдВ?
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Axon рдиреЗ рдЬрд▓реНрджреА рд╕реЗ banal function рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛
DB::sql("Select ...")
рдЬрд┐рд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
F3::get('DB->result')
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, <F3 :: рджреЛрд╣рд░рд╛рдиреЗ> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдпрд╛ рд╕реАрдзреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБред рдпрджрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ DB :: sql ("Select ...") рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реЛрдЧреА, рддреЛ рдПрдХ рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ
$array=F3::get('DB->result[0]')
рдпрджрд┐ рд╣рдореЗрдВ COUNT (рдЖрдИрдбреА) рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
F3::get('DB->result[0]["COUNT(id)"]')
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рдмрд╛рдд: рдЖрдк рдЗрд╕ рддрд░рд╣ рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЬреЛрдбрд╝реЗ рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ
F3::get('DB')->pdo->lastInsertId();
рд╕реБрд░рдХреНрд╖рд╛ред
рдпрд╣ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдХрдорд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рд░рд▓ "рдареВрдВрда" F3 рдордВрдЪ рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╣реИрдХ рд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдЬрд╛рдПрдЧрд╛ред
if (F3::get('DEBUG') == 0) F3::set('ONERROR', function () { echo Template::serve('error404.html'); die(); } );
рдЕрдВрдд рдореЗрдВ
F3 рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмрд╣реБрдд рд╕рд╛рд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рднреА рд╣реИрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ
fatfree.sourceforge.netрдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдкреВрд░рд╛ рдЕрдиреБрднрд╡ рдПрдХ рдкреЛрд╕реНрдЯ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдЧрд░ рдХрд╣реАрдВ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдорд╛рдл рдХрд░реЗрдВред рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж