рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╕реЗ рд╕реНрдерд┐рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛

рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рджреГрд╢реНрдп / рдмреИрдХрдПрдВрдб рдбреЗрд╡рд▓рдкрд░ / рд▓реЗрдЖрдЙрдЯ рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рд╕реНрдереИрддрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреНрд░рднрд╛рд╡реА рдФрд░ рдмрджрд╕реВрд░рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдЖрдпрд╛ рдерд╛ (рдЕрдм рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкрд░ .css рдФрд░ .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ) рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред ред

рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдП рд╕рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рд╕реАрдорд╛рдВрдд рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛, рддреИрдирд╛рддреА рдФрд░ рдмреИрдХреЗрдВрдб рдХреЛрдб (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ) рдХреЗ рддрд░реНрдХ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╢рдмреНрджрд╛рд░реНрде рдХреА рдХрдореА рдХреЗ рдмреАрдЪ рдШрдирд┐рд╖реНрда рд╕рдВрдмрдВрдз рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢рдмреНрдж рджреГрд╢реНрдп-рдХреЛрдб рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ .js , .cs рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджреА рдЧрдИ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рдВрдпреЛрдЬрдиред рдЖрдорддреМрд░ рдкрд░, рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлреНрд░рдВрдЯреЗрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ (рдмреАрдорд╛рд░!) рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ (рдЫрджреНрдо рдХреЛрдб рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдЬрдЧрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реВрдкрд░реЗрдЦрд╛ рдФрд░ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдХреЗрд╡рд▓ рд╣рдореЗрдВ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛), рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рдХрдорд┐рдпреЛрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдЕрдВрдд рдореЗрдВ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рджреГрд╖реНрдЯрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред

рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг

рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ ( Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдкрд░, рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реЗрдВ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рдереАрдВ:

// someWidget.tpl // PROJECT_STATIC_VERSION тАФ      (  ) ViewHelpers.appendStylesheet("css/some-path/sub-path/some-widget.css?" + PROJECT_STATIC_VERSION); ViewHelpers.appendJsFile ("js/some-path/sub-path/some-widget.js?" + PROJECT_STATIC_VERSION); //    Layout: <div class="some-widget"> <!-- a lot of cool html --> </div> 

рд╣рдо рдорд╛рдиреЗрдВрдЧреЗ рдХрд┐ рддрд░реАрдХреЗ ViewHelpers.appendStylesheet рдФрд░ ViewHelpers.appendJsFile рд╣рдореЗрдВ рдЕрдВрддрд┐рдо рдкреГрд╖реНрда рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЯреИрдЧ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВред PROJECT_STATIC_VERSION рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ url рдореЗрдВ рдПрдХ рдХреБрдВрдЬреА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдЬреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╛рдЗрд▓реЗрдВ рдЕрдХреНрд╕рд░ рдмрд╛рд╣рд░ рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рдереАрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ рдХреЛрдб рдореЗрдВ рдпрд╛ рддрддреНрд╡ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛрдб ( Zend_Form_Decorator ) рдореЗрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдХреНрд╕рд░ рдПрдХреНрд╕реНрдЯреЗрдЬ рдЬреЗрдПрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдерд╛ рдпрджрд┐ рдЬреЗрдПрд╕ рдХреЛрдб рдПрдХреНрд╕реНрдЯрдЬреЗрдПрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдерд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, 95% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдлреЙрд░реНрдо рдХреЗ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

 ViewHelpers.appendJsFile("js/libs/ext-js/ext-js.js?" + PROJECT_STATIC_VERSION); ViewHelpers.appendCss ("css/libs/ext-js/ext-js.css?" + PROJECT_STATIC_VERSION); ViewHelpers.appendJsFile("js/libs/ext-js/locale-ru.js?" + PROJECT_STATIC_VERSION); 

рддреЛ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдиреБрдХрд╕рд╛рди (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ):

рд╕рд┐рдореНрдлрдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг

 // SomeConroller.SomeAction If (Config.Env == "Production") { includeCss("styles/feature.min.css"); includeJs("js/feature.min.js"); } Else If(Config.Env == "Dev") { includeCss("styles/feature/global.css"); includeCss("styles/feature/sub-feature.css"); includeJs("js/classes/Core.js"); includeJs("js/classes/Event.js"); includeJs("js/classes/CoolPlugin.js"); includeJs("js/classes/Feature.js"); includeJs("js/classes/FeatureSubFeature.js"); } Layout: <div class="feature"> <!-- feature's code is here --> </div> 

рдкреНрд▓рд╕, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрддрд░ рдкрд░, рдкреНрд░рдкрддреНрд░ рдХреЗ js рдФрд░ css рдХреЛрдб рдХреЛ рдорд░реНрдЬ рдФрд░ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдерд╛:

 styles/feature.min.css: styles/feature/main.css styles/feature/sub-feature.css js/feature.min.js: js/classes/Core.js js/classes/Event.js js/classes/CoolPlugin.js js/classes/Feature.js js/classes/FeatureSubFeature.js 

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рднреА рдиреБрдХрд╕рд╛рди рд╣реИрдВ, рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рднрдпрд╛рдирдХ рд░реВрдк рдореЗрдВ:

рдХрд╛рд░реНрдп

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЗрди рдФрд░ рдЕрдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреА рдХрдорд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕реНрдерд┐рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдХрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛:


рдирд┐рд░реНрдгрдп


рдЙрдкрдпреЛрдЧреА рдЕрднреНрдпрд╛рд╕


рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд╛рдо рдкрд░ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реВрдВред

рдЗрд╕реЗ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЯрд┐рдкреНрдкрдгреА рдФрд░ рд╕реБрдЭрд╛рд╡ рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреА!

Source: https://habr.com/ru/post/In151456/


All Articles