рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рдХреА рд╕реНрдерд┐рддрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЕрдХреНрд╕рд░ рдЗрд╕ рддреИрдпрд╛рд░реА рдореЗрдВ рдХрдИ рдХреНрд░рд┐рдпрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реЛрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ)ред рдЕрдХреНрд╕рд░, рдХрд╛рд░реНрдп рд╕рд░рд▓ рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреЗ рд╣реИрдВ, рдХреИрд╢ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ, рдЬреЗрдПрд╕ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдлрд╛рдЗрд▓ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рджрд┐рдирдЪрд░реНрдпрд╛ рдореЗрдВ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реАрд▓ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рдЧреБрдордирд╛рдореА рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдХрд╛рдо рдХреЗ рдШрдВрдЯреЗ / рдорд┐рдирдЯ рднреЗрдЬреЗрдВред рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдФрд░ рдкрд░рд┐рдЪрд╛рд▓рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддреИрдпрд╛рд░реА, рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдорджрдж рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
1. рдЕрдзрд┐рдЧреНрд░рд╣
рдЗрд╕рд▓рд┐рдП
рдлрд┐рдВрдЧ рд╕реЗ
рдЬрд╛рди рд▓реЗрдВ ред
рдЪреАрдВрдЯреА рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ PHP рд░реАрдорд┐рдХреНрд╕, рд▓реЗрдХрд┐рди рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реАред рдлрд╝рд┐рдВрдЧ рдЖрдкрдХреЛ PHP рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рддреБрдЪреНрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдг рдФрд░ рдПрдХ рдЕрдЪреНрдЫрд╛
рдПрдкреАрдЖрдИ рд╣реИ , рдЕрдЧрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдг рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВред рд╣рдо рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдХрд┐рдП рдЧрдП рд▓рдХреНрд╖реНрдпреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
2. рд╕реНрдерд╛рдкрдирд╛
Phing - PEAR рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ред
$ pear channel-discover pear.phing.info $ pear install phing/phing
рдЬреЛ рд▓реЛрдЧ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡реЗ рдмреАрдЯрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
$ pear install phing/phing-beta
рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рд╕рд┐рд░реНрдл рдпрд╣ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрд╕рд╡реАрдПрди рд╣реИ (рдЙрддреНрдкрд╛рдж рдХреЗ рджреЗрд╡ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреАрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ!)ред
$ svn checkout http://svn.phing.info/trunk phing
рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░
рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд░реНрдг рдкреИрдХреЗрдЬ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
3. рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!
рдпрд╛ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рд╣реИрд▓реЛ рдирд┐рд░реНрдорд╛рдг!
рдЙрджрд╛рд╣рд░рдг (build.xml):
<project name="make_project" basedir=".." default="build"> <property name="src_dir" value="protected/" override="false"/> <property name="res_dir" value="public/" override="false"/> <target name="clear_cache_dir"> <echo> </echo> <delete> <fileset dir="${res_dir}/assets/"> <include name="**"/> </fileset> <fileset dir="${src_dir}/runtime/"> <include name="**"/> </fileset> </delete> </target> <target name="build" depends="clear_cache_dir"> </target> </project>
рдЪрд▓рд┐рдП рдлрд╛рдЗрд▓ рдХреЛ рдХрдорд╛рдВрдб рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб
рдореЗрдХ_рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдордХ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдмрд┐рд▓реНрдб рдлрд╝рд╛рдЗрд▓ рдФрд░ рдореВрд▓
рдмрд┐рд▓реНрдб рд▓рдХреНрд╖реНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЖрдзрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдПрдХ рд╕реНрддрд░ рд▓рдВрдмрд╛ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
рдмрд┐рд▓реНрдб рд▓рдХреНрд╖реНрдп рдореЗрдВ
clear_cache_dir рд▓рдХреНрд╖реНрдп рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ (рд╕рдВрдкрддреНрддрд┐
рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ) рд╣реИред
рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╣рдо
clear_cache_dir рд▓рдХреНрд╖реНрдп рдХрд╛ рд╡рд░реНрдгрди рджреЗрдЦрддреЗ рд╣реИрдВред рдЗрд╕ рд▓рдХреНрд╖реНрдп рдХреЗ 2 рдХрд╛рд░реНрдп рд╣реИрдВ:
1.
рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ - рд▓рд╛рдЗрди рдХрд╛ рдЙрддреНрдкрд╛рджрди "рд╕реНрдкрд╖реНрдЯ рдХреИрд╢ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ"
2.
рд╣рдЯрд╛рдПрдВ - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / рд╕рдВрдкрддреНрддрд┐ / рдФрд░ / рд░рдирдЯрд╛рдЗрдо рдХреЛ рдкреБрди: рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ
рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдп рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдЖрдЗрдП, рдЕрдм рд╣рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ .less рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:
<target name="less_exec"> <exec command="lessc ${project.basedir}/${src_dir}/${current_file} > ${project.basedir}/${src_dir}/${current_file}.css" /> </target> <target name="compile_less"> <echo> .less </echo> <foreach param="current_file" target="less_exec"> <fileset dir="${src_dir}/"> <include name="**/assets/css/*.less" /> </fileset> </foreach> </target>
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, fileset рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдирджрдВрдб рджреНрд╡рд╛рд░рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпред рд╣рдорд╛рд░реА
рдлрд╛рдЗрд▓рд╕реЗрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдВрдкрддреНрддрд┐
рд╢рд╛рдорд┐рд▓ рд╣реИ (рдлрд╛рдЗрд▓реЛрдВ рд╕рд╣рд┐рдд) рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде
** / рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВ / рд╕реАрдПрд╕рдПрд╕ / *ред рдХрдо , рдЬрд╣рд╛рдВ ** рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреА рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред
рдЕрд░реНрдерд╛рддреН,
рдлрд╝рд╛рдЗрд▓рд╕реЗрдЯ рдХреА рдирд┐рдореНрди рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ:
/ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ / рд╕реАрдПрд╕рдПрд╕ / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ
рд╕реНрдерд┐рдд .less рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ $ {
src_dir } рдореЗрдВ
рдирд┐рд╣рд┐рдд рдордирдорд╛рдиреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ (
рдКрдкрд░ рдХреЛрдб рджреЗрдЦреЗрдВ )ред
рдЕрдЧрд▓рд╛, рд╣рдо
рдлрд╝реЙрд░реЗрд╕реНрдЯ рдХрд╛рд░реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдорд┐рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдорд┐рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЪрд░ $ {
current_file } (
рдкреИрд░рд╛рдо - рдЬрд┐рд╕рдореЗрдВ рд╕реВрдЪреА рдХрд╛ рд╡рд░реНрддрдорд╛рди рдорд╛рди рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдп рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ) рдХреЛ
рдХрдо_рдХрд╛рд▓реЗ рдХрд╛рд░реНрдп (
рд▓рдХреНрд╖реНрдп - рд╕реВрдЪреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓реНрдп рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп ) рдореЗрдВ
рднреЗрдЬрддреЗ рд╣реИрдВ ред
low_exec - рдмрд╕ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрде рдХреЛ
рдХрдо рдХрдорд╛рдВрдб рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ
.less рдлрд╝рд╛рдЗрд▓ +
.css рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рднреА
.less рдлрд╝рд╛рдЗрд▓реЗрдВ
% рдлрд╝рд╛рдЗрд▓ рдирд╛рдо% ред рд╕рдВрдХрд▓рди рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреА
рдЬрд╛рдПрдВрдЧреА ред
рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд╛рдирдХ .css рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЛрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдмрд╕ рд╕рд╣реА рд╣реИ? рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдлрд┐рдВрдЧ рдХреЗ рдкрд╛рд╕ рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рдмрд┐рд▓реНрдЯ-рдЗрди рдЯреВрд▓реНрд╕ (JsMin, JsLint, tar, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рднрд┐рдиреНрди VCS рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг) рд╣реИрдВ, рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рднрдВрдбрд╛рд░ рдпрд╛ рдмреИрдХрдЕрдк рдХреЛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред
4. рд▓рд╛рдн?
рдФрд░ рдпрд╣ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рдХреЛ рдирд┐рдпрдорд┐рдд рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдлрд╝рд┐рдВрдЧ рдХреА рдорд╛рдирдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ - рддреЛ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ PHP рдФрд░ XML рдореЗрдВ рдирд┐рдкреБрдг рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рдлрд╝рд┐рдВрдЧ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдЬрдм рдореБрдЭреЗ
.less рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЗрд╕реЗ рдпреБрджреНрдз рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдлрд╝рд┐рдВрдЧ рдЙрдкрдпреЛрдЧреА рд╣реИред