рдХреЛрд╣рдирд╛ 3: рдореЙрдбреНрдпреВрд▓ "рдХреЛрд╣рдирд╛-рд╕реНрдЯреИрдЯрд┐рдХ-рдлрд╛рдЗрд▓реНрд╕"



рдЬрдм рдореИрдВ рдврд╛рдВрдЪреЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬреЗрдПрд╕ / рд╕реАрдПрд╕рдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди (YSlow / Google рдкреЗрдЬрд╕реНрдкреАрдб) рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ "рджреЗ"ред рдореБрдЭреЗ Django (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░реЗрд░рд┐рдд рдерд╛), рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореИрдВрдиреЗ рдЬреЛ рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЗрдЦрд╛, рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХреЛрд╣рд╛рдирд╛ v.3 рдХреЗ рд▓рд┐рдП рдПрдХ рддреИрдпрд╛рд░-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдирд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред



рдЗрд╕рд▓рд┐рдП, рд╣рдо рдмреБрдирд┐рдпрд╛рджреА рдЬрд░реВрд░рддреЛрдВ / рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдкрд╣рд▓реЗ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛:

1) рдЗрдирд▓рд╛рдЗрди рд╕реАрдПрд╕рдПрд╕ / рдЬреЗрдПрд╕ рдкреАрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ

2) рдкреГрд╖реНрда рдХреЛрдб рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдХреЗ рдпрд╛ рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдЦрдХрд░ рдФрд░ рд▓рд┐рдЦрдХрд░ рдмрд┐рдВрджреБ 1 рджреЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред

3) рдПрдХ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдмрд╛рд╣рд░реА рд╕реАрдПрд╕рдПрд╕ / рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛

4) рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдмрд┐рдВрджреБ 3 рд╕реЗ рдПрдХ рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рдг рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреЛрдИ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ (
  <! - [рдЕрдЧрд░ IE 7]> 
)ред

5) рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЛрдореЗрди рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рднреМрддрд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛред

6) рд╕реАрдбреАрдПрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

7) CSS / JS рдХреЛ рдХрдо рдХрд░рдирд╛ред

8) рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг: METHOD, рдЬреЛ рдЖрдкрдХреЛ рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рдореЗрдВ (рдФрд░ рдЖрдорддреМрд░ рдкрд░ рди рдХреЗрд╡рд▓ CSS / JS рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ)ред рд╡рд░реНрддрдорд╛рди рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рдж рд╕реЗ, рдЬрдм рдореЙрдбреНрдпреВрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реНрд╡рдпрдВ рд╣реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдореЙрдбреНрдпреВрд▓ / рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╕реНрдереИрддрд┐рдХ рдпрд╛ рддреЛ рдПрдХ рдордирдорд╛рдиреЗ рд╕реНрдерд╛рди DOCUMENT_ROOT рдореЗрдВ рдХреЙрдкреА рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рд╢рд░реНрдд DOCUMENT_ROOT рдореЗрдВ рд╣реЛрдирд╛ рд╣реИред

9) URL рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рддрд╛рдХрд┐ рд╡рд╣ рд░реВрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рди рдХрд░реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк url рдкрд░ CSS рд╕реЗрдХреНрд╢рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ "" рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЬрдм рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореМрдЬреВрджрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдпрд╛ рдерд╛ред



рдпрд╛рдиреА рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рд╕рдордЭреМрддреЗ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдЬреЛ рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рдереА, рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рдиреНрдирд┐рд╣рд┐рдд рдереАред





рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рди рдХреЗрд╡рд▓ рдЗрд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛:

1) рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ css-framework.ru рд▓реЗрдВ

2) "рдХреЛрд╣рди-рд╕реНрдЯреЗрдЯрд┐рдХ-рдлрд╛рдЗрд▓реНрд╕" рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрджрд╛рд╣рд░рдг css-framework.ru/demo/css-framework-layout.html рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред



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



рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрд╣рдирд╛ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг v.3 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

рд╣рдо DOCUMENT_ROOT рдХреЗ рдКрдкрд░ рд╕рд┐рд╕реНрдЯрдо, рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрджрдиреБрд╕рд╛рд░, index.php рдореЗрдВ рдкрде рдмрджрд▓рддреЗ рд╣реИрдВ:

<? php

$application = '../application';

$modules = '../modules';

$system = '../system';



* This source code was highlighted with Source Code Highlighter .








рдЕрдЧрд▓рд╛, рд╣рдо github.com/aberdnikov/kohana-static-files рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЙрдард╛рддреЗ рд╣реИрдВ, рд╕рд╛рдордЧреНрд░реА рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВред

рдлрд╝рд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / bootstrapper.php рдореЗрдВ рд╣рдо рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ



<? php

Kohana::modules ( array (

// 'auth' = > MODPATH.'auth', // Basic authentication

// 'cache' = > MODPATH.'cache', // Caching with multiple backends

// 'codebench' = > MODPATH.'codebench', // Benchmarking tool

// 'database' = > MODPATH.'database', // Database access

// 'image' = > MODPATH.'image', // Image manipulation

// 'orm' = > MODPATH.'orm', // Object Relationship Mapping

// 'oauth' = > MODPATH.'oauth', // OAuth authentication

// 'pagination' = > MODPATH.'pagination', // Paging of results

// 'unittest' = > MODPATH.'unittest', // Unit testing

// 'userguide' = > MODPATH.'userguide', // User guide and API documentation

' kohana-static-files' = > MODPATH.' kohana-static-files ', // Static Files (JS/CSS/pictures)

));

? >




* This source code was highlighted with Source Code Highlighter .








рдореЙрдбреНрдпреВрд▓ "рдХреЛрд╣рдирд╛-рд╕реНрдЯреЗрдЯрд┐рдХ-рдлрд╛рдЗрд▓реНрд╕" рдХреА рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░рд╛рдЙрдЯрд┐рдВрдЧ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд▓реЙрдЬрд┐рдХ рдХреЛрд╣рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ "/ !/static/style.css" рдкрд░ рдкрд╣рд▓реА рдХреЙрд▓ рдкрд░ рдорд┐рд▓реЗрдЧрд╛: find_file ()

- рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди / рд╕реНрдЯреЗрдЯрд┐рдХ-рдлрд╛рдЗрд▓реНрд╕ / рд╕реНрдЯрд╛рдЗрд▓.рдПрд╕рд╕реА рдореЗрдВ

- рдЙрд╕рдХреЗ рдмрд╛рдж рдореЙрдбреНрдпреВрд▓ / {рдореЙрдбреНрдпреВрд▓_рдирд╛рдо} / рд╕реНрдЯреЗрдЯрд┐рдХ- рдлрд╛рдЗрд▓реНрд╕/style.css (рдЬрд╣рд╛рдВ {рдореЙрдбреНрдпреВрд▓_рдирд╛рдо} рдмреВрдЯрд╕реНрдЯреНрд░реИрдкрд░.рдлреИрдк рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреНрд░рдо рдореЗрдВ рдЬреБрдбрд╝реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣реИ)

- рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╕рд┐рд╕реНрдЯрдо / рд╕реНрдЯреИрдЯрд┐рдХ-рдлрд╛рдЗрд▓реНрд╕ / style.css рдореЗрдВред



рддрджрдиреБрд╕рд╛рд░, рдЖрдкрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдЖрдЧреЗ: рдХрдХреНрд╖рд╛рдПрдВ, рджреГрд╢реНрдп, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдЖрджрд┐ ... рдПрдХ рдирдИ рддрд░рд╣ рдХреА "рд╕реНрдЯреИрдЯрд┐рдХ-рдлрд╛рдЗрд▓реНрд╕" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреАрдВ, рдпрд╣реАрдВ рдкрд░ рд╣рдо рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдЬреЛрдбрд╝реЗрдВрдЧреЗред рд╣рдо рд╡рд┐рд╖рдп рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреИрд░рд╛ 9 рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрдгрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдЗрдЯ рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реНрд╡рд╛рдореА рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред



рд╕рдордЭреМрддрд╛ рд╕рдВрдЦреНрдпрд╛ рез

рдЗрд╕рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ "cssf-base.css" рдореЗрдВ рд╣рдо URL рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рд░рдкреЗрдХреНрд╖ рдФрд░ рд╕рд╛рдкреЗрдХреНрд╖ URL рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдпреЛрдВ рдХрд╣реЗрдВ, рдСрдЯреЛ-рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЙрдирдХреА рд╢реБрд░реБрдЖрдд "{staticfiles_url" рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдкреНрд░рдХрд╛рд░ рд╕реЗ рд╣реЛрддреА рд╣реИ

.corners-2 em.tl, .corners-2 em.tr, .corners-2 em.bl, .corners-2 em.br {рдЪреМрдбрд╝рд╛рдИ: 4px; рдКрдВрдЪрд╛рдИ: 4 рдкреАрдПрдХреНрд╕; рдкреГрд╖реНрдарднреВрдорд┐-рдЫрд╡рд┐: url (.. / i / рдХреЛрдиреЛрдВ / рдХреЛрдиреЛрдВ -png); }

рд╣рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛

.corners-2 em.tl, .corners-2 em.tr, .corners-2 em.bl, .corners-2 em.br {рдЪреМрдбрд╝рд╛рдИ: 4px; рдКрдВрдЪрд╛рдИ: 4 рдкреАрдПрдХреНрд╕; рдкреГрд╖реНрдарднреВрдорд┐-рдЫрд╡рд┐: url ({staticfiles_url} i / рдХреЛрдиреЛрдВ / рдХреЛрдиреЛрдВ-2. рдкреАрдПрдирдЬреА); }

рдмрд╛рдж рдореЗрдВ

url ({staticfiles_url} i / рдХреЛрдиреЛрдВ / рдХреЛрдиреЛрдВ-2. рдкреАрдПрдирдЬреА);

рдЬреИрд╕реЗ рдХреБрдЫ рдмрди рдЬрд╛рдПрдЧрд╛

url (http://static.site.ru//static/i/corners/corners-2.png);



рд╕рдордЭреМрддрд╛ рд╕рдВрдЦреНрдпрд╛ реи

рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрди рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

1) рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ рдПрдХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХреНрд░рдорд╢рдГ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдорд╛рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рд╢реИрд▓рд┐рдпреЛрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП URL рд╣реЛрдЧрд╛: {staticfiles_url} news / style.css

рддрджрдиреБрд╕рд╛рд░, рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдпрд╣рд╛рдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рдд рд╣реЛрдЧреА:

MODDIR.'news / static-files / style.css '

2) рд╡рд░реНрддрдорд╛рди рд╕рд╛рдЗрдЯ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рдХреЛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЗрдЯ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдореЗрдВ рдпреВрдЖрд░рдПрд▓ рд╣реЛрдЧрд╛

{staticfiles_url} /style.css

рдФрд░ рдЗрд╕рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЗрд╕ рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

APPDIRред ' рд╕реНрдЯреИрдЯрд┐рдХ-рдлрд╛рдЗрд▓реНрд╕ / рд╕реНрдЯрд╛рдЗрд▓.рдПрд╕рд╕реА '



рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ:

рд╣рдо рдЖрдзрд╛рд░ рдирд┐рдпрдВрддреНрд░рдХ Conrtoller_Welcome рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╣рдо рдХреЛрдХреЗрд░ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ_Template рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред



рдПрдХ рдбрдореА рдХреЗ рдмрдЬрд╛рдп

public function action_index()

{

$this- > request- > response = 'hello, world!';

}





* This source code was highlighted with Source Code Highlighter .








рд╣рдо рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рд╣реИ:

public function action_index() {

StaticCss::instance()- > addCss(Kohana::config('staticfiles.url').'news/style.css');

StaticCss::instance()- > addCssStatic('news/style.css');

StaticCss::instance()- > addCssStatic('css/cssf-base.css');

StaticCss::instance()- > addCssStatic('css/cssf-ie6.css', 'lte IE 6');

StaticCss::instance()- > addCssStatic('css/cssf-ie7.css', 'IE 7');

StaticJs::instance()- > addJsStatic('js/common.js');

StaticCss::instance()- > addCssInline('

.lb-1 .corners { background: #818181; }

.lb-2 .corners { background: #9a9a9a; }

.lb-3 .corners { background: #b4b4b4; }

.lb-4 .corners { background: #dadada; }

');

StaticJs::instance()- > addJsInline('CornersInit();');

StaticJs::instance()- > addJsOnload('alert(123)');

}



* This source code was highlighted with Source Code Highlighter .








рдпрд╣ рдХреЗрд╡рд▓ addJsStatic рдФрд░ addJs рдлреЙрд░реНрдо рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ

рд╡реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реИрдВ, рдмрд╕ рдЕрдкрдиреЗ рдЕрдВрджрд░ рдХреА рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдЖрд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрд╕рд░реНрдЧ рдХреЛ URL рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╕рдорд╛рдЪрд╛рд░ {staticfiles_url} рд╕рдорд╛рдЪрд╛рд░ / style.css рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдореЗрдВ

рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

StaticCss::instance()- > addCss(Kohana::config('staticfiles.url').'news/style.css');



* This source code was highlighted with Source Code Highlighter .






рдпрд╛ рддреЛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ

StaticCss::instance()- > addCssStatic('news/style.css');



* This source code was highlighted with Source Code Highlighter .








рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдСрдирд▓реЛрдб рдШрдЯрдирд╛ рдХреЗ рджреМрд░рд╛рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ jQuery рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдореБрдЦреНрдп JS рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЬрдм рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

StaticJs::instance()- > addJsOnload('alert(123)');



* This source code was highlighted with Source Code Highlighter .






рдкреНрд░рдкрддреНрд░ рдХреА рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рдПрдЧреА:

< script language ="JavaScript" type ="text/javascript" >

jQuery( document ).ready(

function (){

alert(123)

}

);

</ script >



* This source code was highlighted with Source Code Highlighter .






рдпрд╛рдиреА рдЖрдкрдХреЛ рдПрдХ рд░реИрдкрд░ ("jQuery (рдбреЙрдХреНрдпреВрдореЗрдВрдЯ)ред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА") рдмрдирд╛рдиреЗ рдХреА рдЬрд╣рдордд рдирд╣реАрдВ рдЙрдард╛рдиреА рдкрдбрд╝реЗрдЧреА рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ jQuery рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдкрд╣рд▓реА рдмрд╛рд░ addJsOnload рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, jQuery рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ () (Kohana_StaticJs рдХреНрд▓рд╛рд╕) рд╡рд┐рдзрд┐ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдкрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рддреЛ рдмрд╕ рдбрд┐рд╕реНрдХ рд╕реЗ рдлрд╛рдЗрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдЯрд┐рдХрдЬреЗрд╕ рдореЗрдВ рдЬрд░реВрд░рддJquery () рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВред



рдФрд░ рдЕрдм рд╣рдо рдЕрдкрдирд╛ рдзреНрдпрд╛рди рднрд╛рдЧреЛрдВ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддреЗ рд╣реИрдВ

'js' = > array(

//

'min' = > true,

// (external, inline, onload)

'build' = > false,

),

'css' = > array(

//

'min' = > true,

// (external, inline)

'build' = > true,

),



* This source code was highlighted with Source Code Highlighter .








рдЗрд╕ рд╕реНрдерд╛рди рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ (JS / CSS), рдкреНрд░рдХрд╛рд░ (рдмрд╛рд╣рд░реА, рдЗрдирд▓рд╛рдЗрди, рдУрдиреЛрд▓реЛрдб), рд╕реНрдерд┐рддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ (
  <! - [рдЕрдЧрд░ IE 7]> 
)

рдиреНрдпреВрдирддрдордХрд░рдг (рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ, рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдФрд░ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ)ред



рд╕рдордЭреМрддрд╛ рд╕рдВрдЦреНрдпрд╛ 3

рдпрджрд┐ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк ".min" рд╣реИ, рддреЛ рдХрдиреЗрдХреНрдЯ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд╣рд▓реЗ URL рдореЗрдВ - рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдкреАрдбрд╝рд┐рдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рднрд▓реЗ рд╣реА рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рд╣реЛ, рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рдмрд┐рд▓реНрдб рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рд╣реИред рдлрд┐рд░ рдЗрд╕реЗ "рдЬреИрд╕рд╛ рд╣реИ" рдмрд┐рд▓реНрдб рдореЗрдВ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред



'path' = > realpath(DOCROOT),



* This source code was highlighted with Source Code Highlighter .






рдпрд╣ рд╕реНрдерд┐рд░ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП DOCUMENT_ROOT рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдПрдХ рд╣реА рдбреЛрдореЗрди рд╣реИред

//

'url' = > '/!/static/',

//

'cache' = > '/!/cache/',



* This source code was highlighted with Source Code Highlighter .






рдпрд╣рд╛рдБ рдореИрдВ рдПрдХ рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛: рдпрд╣ рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ рдХреЗ рдЕрдиреБрдЪреНрдЫреЗрдж 9 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдЯреАрдХ рд╣реИ, рд╕рдВрдШрд░реНрд╖реЛрдВ рдФрд░ рдЙрдирдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рдбрд╝рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

'host' = > 'http://'.$_SERVER['HTTP_HOST'],



* This source code was highlighted with Source Code Highlighter .






рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣ рдбреЛрдореЗрди рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

1) "" - рд▓рд┐рдВрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдВрдЧреЗ: "/pic.jpg"

2) " ya.ru " - рд▓рд┐рдВрдХ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛: " ya.ru/pic.jpg "

* рдХреЛрд░рд▓ рд╕реАрдбреАрдПрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

* рд╕реНрдереИрддрд┐рдХ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдбреЛрдореЗрди рдХреЗ рдирд╛рдо рдореЗрдВ рдкреНрд░рддреНрдпрдп ".nyud.net" рдЬреЛрдбрд╝реЗрдВ

* рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЛрдореЗрди "google.com" рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ "google.com.nyud.net" рд╕реЗрдЯ рдХрд░реЗрдВ

* рдпрд╣рд╛рдБ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА: habrahabr.ru/blogs/i_recommend/82739 3) " ya.ru.nyud.net " - рд▓рд┐рдВрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдВрдЧреЗ : " ya.ru.nyud.net/pic.jpg "



рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрдиреНрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдпрдВрддреНрд░рдХ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗ:

public function after() {

parent::after();

$this- > request- > response = str_replace('{statifiles_url}',

STATICFILES_URL,

$this- > request- > response);

}



* This source code was highlighted with Source Code Highlighter .






рдЦреИрд░, рдпрд╣ рдкреНрд░рд╕реНрддреБрддрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ (рджреЗрдЦреЗрдВ)

рдЬреИрд╕рд╛ рдХрд┐ YSlow / GooglePageSpeed тАЛтАЛрджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ, рд╕рд┐рд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдбрд╛рд▓реЗрдВ

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <br> < html xmlns ="http://www.w3.org/1999/xhtml" > <br> < head profile ="http://gmpg.org/xfn/11" > <br> < title > css-framework / layout-box </ title > <br> < meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" /> <br> < meta http-equiv ="imagetoolbar" content ="no" /> <br> < link rel ="icon" href ="{statifiles_url}favicon.ico" type ="image/x-icon" /> <br> < link rel ="shortcut icon" href ="{statifiles_url}favicon.ico" type ="image/x-icon" /> <br> <? php echo StaticCss::instance () - > getCssAll(); ? > <br> </ head > <br> <br> * This source code was highlighted with Source Code Highlighter .





рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдЬреЗрдПрд╕ рдЖрд╡реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ

<? php echo StaticJs::instance () - > getJsAll(); ? > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .







рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛:

- HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо;

- рд╕реАрдбреАрдПрди рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ;

- рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реАрдПрд╕рдПрд╕ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ;

- рдкреГрд╖реНрда рдХреЗ рдЕрдВрдд рдореЗрдВ JS рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ;

- рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВ (рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╛ рдмрд┐рд▓реНрдб рд╕реЗ) (рдПрдХ рдЫреЛрдЯреА рд╕реА рдЦрд╛рдореА рднреА рд╣реИ - рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд┐рд▓реНрдб рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗ);

- рдЗрдирд▓рд╛рдЗрди рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдкреНрд▓рдЧ-рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;

- рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред



рдЕрдм рд╣рдореЗрдВ рдХреЗрд╡рд▓ рджрд┐рдП рдЧрдП рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реЗрдбрд░ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nginx рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (gzip, ETags, Expense)ред



рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдпрд╣рд╛рдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЙрдард╛ / рдХрд╛рдВрдЯрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

github.com/aberdnikov/kohana-static-files



рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреНрдпрд╛ рд╣реБрдЖ (рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ HTML рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛)

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <br> < html xmlns ="http://www.w3.org/1999/xhtml" > <br> < head profile ="http://gmpg.org/xfn/11" > <br> < title > css-framework / layout-box </ title > <br> < meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" /> <br> < meta http-equiv ="imagetoolbar" content ="no" /> <br> < link rel ="icon" href ="http://static.site.ru/!/static/favicon.ico" type ="image/x-icon" /> <br> < link rel ="shortcut icon" <br> href ="http://static.site.ru/!/static/favicon.ico" <br> type ="image/x-icon" /> <br> < link rel ="stylesheet" <br> href ="http://static.site.ru/!/cache/css/3/7/3741c0ac0c2f8409beea116d6f4d6922.css" <br> media ="all" type ="text/css" /> <br> <!--[lte IE 6]><link rel="stylesheet" <br> href="http://static.site.ru/!/cache/css/lte-ie-6/1/6/161456642f5cfc18e731472d29293b28.css" <br> media="all" type="text/css" /><![endif]--> <br> <!--[IE 7]><link rel="stylesheet" <br> href="http://static.site.ru/!/cache/css/ie-7/c/b/cb4a089038b23dd1bfc5d0dfbfd35a68.css" <br> media="all" type="text/css" /><![endif]--> <br> < link rel ="stylesheet" <br> href ="http://static.site.ru/!/cache/css/inline/e/c/ec905aaa7ee63d90a646593b7e665936.css" <br> media ="all" type ="text/css" /> <br> </ head > <br> < body > <br> ... [skip html code] ...<br> < script language ="JavaScript" <br> type ="text/javascript" <br> src ="http://static.site.ru/!/cache/js/8/e/8e022d3b6bcba59dcba5c586d408f7b2.js" ></ script > <br> <script language= "JavaScript" <br> type= "text/javascript" <br> src= "http://static.site.ru/!/cache/js/inline/b/2/b2044b150de0ef43233d3491d060a5f6.js" ></script><br> <script language= "JavaScript" <br> type= "text/javascript" <br> src= "http://static.site.ru/!/cache/js/onload/1/5/15fb097828dd52d44bf36e77a96144b6.js" > </ script > <br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .







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

рдпрд╛рдиреА рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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



рдЗрд╕рд▓рд┐рдП, рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдмрд╕ рдмрд┐рд▓реНрдб рдФрд░ рдХреИрд╢ рдХреЗ рд╕рд╛рде /! / рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдорд╛рд░реЗрдВред



рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рдЬреЛрдбрд╝рдирд╛ (рдЬрд┐рд╕рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ) + рднрд╛рд░реА рднрд╛рд░ рд╕реЗ рдкрд╣рд▓реЗ рдХреИрд╢ рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдХрд░рдирд╛, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрд╡рд╢реНрдпрдХ рдХреИрд╢ рдмрдирд╛рдПрдВрдЧреЗред



All Articles