<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>2Coders. Блог 2-х web-разработчиков &#187; Kohana</title>
	<atom:link href="http://2coders.ru/category/frejmvorki/kohana/feed/" rel="self" type="application/rss+xml" />
	<link>http://2coders.ru</link>
	<description>Web - Дизайн, Web - Программирование и SEO</description>
	<lastBuildDate>Sat, 04 Sep 2010 17:31:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Верстаем дизайн для блога. Часть 2</title>
		<link>http://2coders.ru/verstaem-dizajn-dlya-bloga-chast-2/</link>
		<comments>http://2coders.ru/verstaem-dizajn-dlya-bloga-chast-2/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 07:42:52 +0000</pubDate>
		<dc:creator>d4rkr00t</dc:creator>
				<category><![CDATA[Kohana]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Yii]]></category>
		<category><![CDATA[Верстка]]></category>
		<category><![CDATA[Дизайн]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[Блог]]></category>

		<guid isPermaLink="false">http://2coders.ru/?p=488</guid>
		<description><![CDATA[ 
В прошлом уроке мы сверстали макет нашей страницы, сделали фон и добавили тени отбрасываемые контент областью. Сегодня мы займемся шапкой нашего шаблона.
Первое чем мы займемся – это разметим шапку под основные элементы:
1) Логотип сайта
2) Поиск
3) Горизонтальное меню.
Для этого в файл index.html в теге:


  
Добавим следующий код:

 &#38;lt;!--      Лого [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal">В прошлом уроке мы сверстали макет нашей страницы, сделали фон и добавили тени отбрасываемые контент областью. Сегодня мы займемся шапкой нашего шаблона.</p>
<p class="MsoNormal">Первое чем мы займемся – это разметим шапку под основные элементы:</p>
<p class="MsoNormal" style="margin-left: 53.25pt; text-indent: -18pt;"><!--[if !supportLists]--><span>1)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span><!--[endif]-->Логотип сайта</p>
<p class="MsoNormal" style="margin-left: 53.25pt; text-indent: -18pt;"><!--[if !supportLists]--><span>2)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span><!--[endif]-->Поиск</p>
<p class="MsoNormal" style="margin-left: 53.25pt; text-indent: -18pt;"><!--[if !supportLists]--><span>3)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"> </span></span><!--[endif]-->Горизонтальное меню.</p>
<p class="MsoNormal">Для этого в файл <strong><span lang="EN-US">index</span>.</strong><strong><span lang="EN-US">html</span><span lang="EN-US"> </span></strong>в теге:</p>
<p class="MsoNormal">
<p><span id="more-488"></span></p>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal">Добавим следующий код:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> &amp;lt;!--      Лого        --&amp;gt;

&amp;lt;div id=&amp;quot;logo&amp;quot;&amp;gt;
            Логотип&amp;lt;/div&amp;gt;

    &amp;lt;!--      Поиск        --&amp;gt;

&amp;lt;div id=&amp;quot;search&amp;quot;&amp;gt;
            Поиск&amp;lt;/div&amp;gt;

    &amp;lt;!--      Горизонтальное меню       --&amp;gt;

&amp;lt;div id=&quot;top_menu&quot;;
            Меню&amp;lt;/div&amp;gt;
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">И в файле <strong><span lang="EN-US">style</span>.</strong><strong><span lang="EN-US">css</span><span lang="EN-US"> </span></strong>добавим необходимые стили:</p>
<p class="MsoNormal">
<pre class="brush: xml;">
#logo
    {
        float: left;
        width: 63%;
    }
#search
    {
        float: left;
        width: 37%;
        height: 111px;
    }
    /* Только для IE */
    * html #search
    {
        width: 35%;
    }    #top_menu
    {
        clear: left;
    }
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Теперь перейдем к логотипу. Вырезаем лого без текста.</span></p>
<p class="MsoNormal">
<p style="text-align: center;"><a title="shapka_verstka1" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/shapka_verstka1.gif"></a></p>
<p style="text-align: center;"><a title="logo" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/logo.gif"></a></p>
<p style="text-align: center;"><a title="logo" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/logo.gif"  rel="sexylightbox"><img class="attachment wp-att-497 centered" src="http://2coders.ru/wp-content/uploads/2009/04/logo-150x111.gif" alt="logo" width="150" height="111" /></a></p>
<p class="MsoNormal">В файле <strong><span lang="EN-US">index</span>.<span lang="EN-US">html</span><span lang="EN-US"> </span></strong>добавил ссылку и описание блога:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> &lt;a class=&quot;logo_link&quot; href=&quot;/&quot;&gt; &lt;/a&gt;
            &lt;label class=&quot;logo&quot;&gt;Блог 2-х веб разработчиков. Web - Дизайн, Web - Программирование, Seo&lt;/label&gt;
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal">И конечно добавим<span> </span>стили:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> #logo
    {
        float: left;
        width: 67%;
        height: 111px;

        background: url('images/logo.gif') no-repeat top left;
    }
        a.logo_link
        {
            display: block;
            width: 627px;
            height: 90px;
            text-decoration: none;
        }
        label.logo
        {
            padding-left:20px;
            font-weight:bold;
            font-size: 12px;
            font-family: Verdana;
        }
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal">На данный момент шапка выглядит следующим образом:</p>
<p class="MsoNormal">
<p style="text-align: center;">
<p style="text-align: center;"><a title="shapka_verstka1" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/shapka_verstka1.gif"  rel="sexylightbox"><img class="attachment wp-att-498 centered" src="http://2coders.ru/wp-content/uploads/2009/04/shapka_verstka1-150x150.gif" alt="shapka_verstka1" width="150" height="150" /></a></p>
<p style="text-align: left;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">С поиском пришлось повозиться, вот мой вариант его реализации. Для начала добавляем простое <span lang="EN-US">input</span><span lang="EN-US"> </span>поле, убираем границы и на фон ставим нашу картинку:</p>
<p style="text-align: center;"><a title="input" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/input.gif"  rel="sexylightbox"><img class="attachment wp-att-501 centered" src="http://2coders.ru/wp-content/uploads/2009/04/input.gif" alt="input" width="3" height="22" /></a></p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">После слева и справа добавляем картинки с краями формы поиска:</p>
<p style="text-align: center;"><a title="input_l" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/input_l.gif"  rel="sexylightbox"><img class="attachment wp-att-502 centered" src="http://2coders.ru/wp-content/uploads/2009/04/input_l.gif" alt="input_l" width="6" height="22" /></a></p>
<p style="text-align: center;"><a title="search_btn" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/search_btn.gif"  rel="sexylightbox"><img class="attachment wp-att-503 centered" src="http://2coders.ru/wp-content/uploads/2009/04/search_btn.gif" alt="search_btn" width="31" height="22" /></a></p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">В коде это выглядит следующим образом. В файл <strong><span lang="EN-US">index</span>.<span lang="EN-US">html</span></strong><span lang="EN-US"> </span>добавляем следующие:</p>
<p class="MsoNormal">
<pre class="brush: xml;">    &lt;img class=&quot;search&quot; src=&quot;images/input_l.gif&quot; alt=&quot;&quot; /&gt;
&lt;input class=&quot;search&quot; name=&quot;search&quot; type=&quot;text&quot; /&gt;
                &lt;img class=&quot;search_btn&quot; src=&quot;images/spacer.gif&quot; alt=&quot;&quot; /&gt;
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">Стили:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> input.search
        {
            float: left;
            background: url('images/input.gif') repeat-x;
            border: 0;
            padding-top: 3px;
            height: 19px;
            width: 85%;
        }
/* Только для IE */
         * html input.search
        {
            width: 80%;
        }
        img.search
        {
            float: left;
            height: 22px;
            width: 6px;
            border: 0px;
        }
        img.search_btn
        {
            float: left;
            height: 22px;
            width: 31px;
            border: 0px;

            background: url('images/search_btn.gif');
        }
        img.search_btn:hover
        {
            background: url('images/search_btn_hover.gif');
            cursor: pointer;
        }
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">Осталось сделать обрамления для формы, но тут проще, для этого код поля поиска заключаем в теги:</p>
<p class="MsoNormal">
<pre class="brush: xml;">
&lt;div id=&quot;search_form_l&quot;&gt;

&lt;div id=&quot;search_form_r&quot;&gt;

&lt;div id=&quot;search_form&quot;&gt;
                &lt;img class=&quot;search&quot; src=&quot;images/input_l.gif&quot; alt=&quot;&quot; /&gt;
&lt;input class=&quot;search&quot; name=&quot;search&quot; type=&quot;text&quot; /&gt;
                &lt;img class=&quot;search_btn&quot; src=&quot;images/spacer.gif&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">И добавляем стили:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> #search_form_l
        {
            background: url('images/search_form_l.gif') left no-repeat;
            height: 29px;
            padding-left: 62px;
            margin-top: 10px;
        }
        #search_form
        {
            background: url('images/search_form.gif') repeat-x;
            height: 29px;
        }
        #search_form_r
        {
            background: url('images/search_form_r.gif') right no-repeat;
            height: 29px;
            padding-right: 37px;
        }
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">На этом форма поиска готова. Добавим кнопку <span lang="EN-US">rss</span><span lang="EN-US"> </span>ленты. В <span lang="EN-US">index</span>.<span lang="EN-US">html</span><span lang="EN-US"> </span>ниже формы поиска добавим:</p>
<p class="MsoNormal">
<pre class="brush: xml;">
&lt;div id=&quot;rss&quot;&gt;

&lt;div id=&quot;rss_text&quot;&gt;
                    &lt;a class=&quot;rss&quot; href=&quot;#&quot;&gt;Подписаться на

RSS ленту&lt;/a&gt;&lt;/div&gt;

&lt;div id=&quot;rss_icon&quot;&gt;
                    &lt;a class=&quot;rss&quot; href=&quot;#&quot;&gt;&lt;img class=&quot;rss&quot; src=&quot;images/spacer.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">И стили:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> #rss
        {
            width: 50%;
            float: right;
        }
            #rss_text
            {
                float: left;
                font-size: 10px;
                font-family: Verdana;
                color: #ada8a2;
                text-align: right;

                padding-top: 28px;
            }
            a.rss
            {
                font-size: 10px;
                font-family: Verdana;
                color: #ada8a2;
                text-decoration: none;
            }
            a.rss:hover
            {
                text-decoration:underline;
            }
            #rss_icon
            {
                float: left;
            }
            img.rss
            {
                background: url('images/rss.gif');
                width: 59px;
                height: 62px;
            }
            img.rss:hover
            {
                background: url('images/rss_hover.gif');
                width: 59px;
                height: 62px;
            }
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">Вот что имеем на данный момент:</p>
<p class="MsoNormal">
<p style="text-align: center;"><a title="shapka_verstka2" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/shapka_verstka2.gif"  rel="sexylightbox"><img class="attachment wp-att-499 centered" src="http://2coders.ru/wp-content/uploads/2009/04/shapka_verstka2-150x149.gif" alt="shapka_verstka2" width="150" height="149" /></a></p>
<p style="text-align: left;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">Осталось совсем не много – это горизонтальное меню.<!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Вырезаем необходимые кусочки:</span></p>
<p class="MsoNormal">
<p style="text-align: center;"><a title="top_menu_flower" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/top_menu_flower.gif"  rel="sexylightbox"><img class="attachment wp-att-512 centered" src="http://2coders.ru/wp-content/uploads/2009/04/top_menu_flower-150x25.gif" alt="top_menu_flower" width="150" height="25" /></a></p>
<p style="text-align: center;"><a title="top_menu_button" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/top_menu_button.gif"  rel="sexylightbox"><img class="attachment wp-att-511 centered" src="http://2coders.ru/wp-content/uploads/2009/04/top_menu_button.gif" alt="top_menu_button" width="1" height="25" /></a></p>
<p style="text-align: center;"><a title="top_menu" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/top_menu.gif"  rel="sexylightbox"><img class="attachment wp-att-510 centered" src="http://2coders.ru/wp-content/uploads/2009/04/top_menu.gif" alt="top_menu" width="1" height="25" /></a></p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">И правим стили:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> #top_menu
    {
        clear: left;
        width: 100%;
        height: 25px;
        background: #4277ad url('images/top_menu.gif') repeat-x;
    }
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Обычная таблица"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">В<span> </span>теге<span lang="EN-US">: </span></p>
<p class="MsoNormal"><span lang="EN-US"></p>
<pre class="brush: xml;">
</pre>
<p></span></p>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal">Добавляем:</p>
<p class="MsoNormal">
<pre class="brush: xml;">
&lt;div style=&quot;float:left;&quot;&gt;
            &lt;a class=&quot;top_menu&quot; href=&quot;#&quot;&gt;Главная&lt;/a&gt;
            &lt;a class=&quot;top_menu_c&quot; href=&quot;#&quot;&gt;О нас&lt;/a&gt;&lt;/div&gt;

&lt;div id=&quot;flower_top&quot;&gt;&lt;/div&gt;
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal">И конечно же стили, куда без них:</p>
<p class="MsoNormal">
<pre class="brush: xml;"> #flower_top
        {
            float: right;
            background: url('images/top_menu_flower.gif') no-repeat;
            margin-right: 30px;
            width:178px;
            height:25px;
        }
        a.top_menu
        {
            float: left;
            display: block;
            height: 25px;
            width: 100px;
            text-align: center;
            text-decoration: none;
            font-size: 12px;
            font-family: Verdana;
            color: #fff;
            text-align: center;
        }
        a.top_menu:hover
        {
            text-decoration:underline;
        }
        a.top_menu_c
        {
            float: left;
            display: block;
            height: 25px;
            width: 100px;
            text-align: center;
            text-decoration: none;
            font-size: 12px;
            font-family: Verdana;
            color: #fff;
            text-align: center;
            background: url('images/top_menu_button.gif') repeat-x;
        }
        a.top_menu_c:hover
        {
            text-decoration:underline;
        }
</pre>
<p class="MsoNormal"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal">Ну вот и все.</p>
<p class="MsoNormal">
<p style="text-align: center;"><a title="shapka_verstka_final" rel="lightbox[pics488]" href="http://2coders.ru/wp-content/uploads/2009/04/shapka_verstka_final.gif"  rel="sexylightbox"><img class="attachment wp-att-500 centered" src="http://2coders.ru/wp-content/uploads/2009/04/shapka_verstka_final-150x150.gif" alt="shapka_verstka_final" width="150" height="150" /></a></p>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <mce:style><!<br />
/* Style Definitions */<br />
table.MsoNormalTable<br />
{mso-style-name:"Обычная таблица";<br />
mso-tstyle-rowband-size:0;<br />
mso-tstyle-colband-size:0;<br />
mso-style-noshow:yes;<br />
mso-style-parent:"";<br />
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;<br />
mso-para-margin:0cm;<br />
mso-para-margin-bottom:.0001pt;<br />
mso-pagination:widow-orphan;<br />
font-size:10.0pt;<br />
font-family:"Times New Roman";<br />
mso-ansi-language:#0400;<br />
mso-fareast-language:#0400;<br />
mso-bidi-language:#0400;}<br />
--> <!--[endif]--></p>
<p class="MsoNormal"><a href="http://2coders.ru/wp-content/uploads/2009/04/d0b2d0b5d180d181d182d0b0d0b5d0bc-d0b4d0b8d0b7d0b0d0b9d0bd-d0b4d0bbd18f-d0b1d0bbd0bed0b3d0b0-d187d0b0d181d182d18c-2.rar" target="_blank">Файлы проекта.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://2coders.ru/verstaem-dizajn-dlya-bloga-chast-2/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Выбор PHP фреймворка. Сравнение CodeIgniter, Kohana, Yii.</title>
		<link>http://2coders.ru/vybor-php-frejmvorka-sravnenie-codeigniter-kohana-yii/</link>
		<comments>http://2coders.ru/vybor-php-frejmvorka-sravnenie-codeigniter-kohana-yii/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 20:21:09 +0000</pubDate>
		<dc:creator>d4rkr00t</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Yii]]></category>
		<category><![CDATA[Фреймворки]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://2coders.ru/?p=30</guid>
		<description><![CDATA[

В декабре 2008, наконец появилась релизная версия нового PHP фреймворка Yii. В 2008 году было выпущено много PHP фреймворков, но Yii наиболее интересный из них, потому что:

Его автор Qiang Xue, также разработчик фреймворка PRADO.
 Это простой в использовании, хорошо организованный, полностью PHP5 совместимый фреймворк, построенный на архитектуре MVC.
 И утверждаю, что это лучший по производительности [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p><span lang="ru-RU">В декабре 2008, наконец появилась релизная версия нового </span><span lang="en-US">PHP </span><span lang="ru-RU">фреймворка </span><span lang="en-US"><a title="Yii" href="http://www.yiiframework.com/"><strong>Yii</strong></a>. </span><span lang="ru-RU">В 2008 году было выпущено много </span><span lang="en-US">PHP</span><span lang="ru-RU"> фреймворков, но </span><strong><span lang="en-US">Yii </span></strong><span lang="ru-RU">наиболее интересный из них, потому что:</span></p>
<ul>
<li><span lang="ru-RU">Его автор </span>Qiang Xue, также разработчик фреймворка <span lang="en-US">PRADO.</span></li>
<li><span lang="en-US"> </span><span lang="ru-RU">Это простой в использовании, хорошо организованный, полностью </span><span lang="en-US">PHP5 совместимый</span><span lang="ru-RU"> фреймворк, построенный на архитектуре </span><span lang="en-US">MVC.</span></li>
<li><span lang="ru-RU"> И утверждаю, что это лучший по <a href="http://www.yiiframework.com/performance/">производительности</a> </span><span lang="en-US">PHP </span><span lang="ru-RU">фреймворк.</span></li>
</ul>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm;">Перейдем непосредственно к сравнению.</p>
<p style="margin-bottom: 0cm;">Версии фреймворков использованных в тесте:</p>
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<blockquote>
<p style="margin-bottom: 0cm;">Codeigniter 1.7.1</p>
<p style="margin-bottom: 0cm;">Kohana 2.3.1</p>
<p style="margin-bottom: 0cm;">Yii 1.0.3</p>
</blockquote>
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;"><strong>Лицензия </strong></h3>
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm;"><strong><span lang="en-US">CodeIgniter</span></strong><span lang="en-US"> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">CI использует модифицированную </span><a href="http://codeigniter.com/user_guide/license.html">BSD/Apache-style license</a><span lang="ru-RU">. </span></p>
<p style="margin-bottom: 0cm;"><strong>Kohana</strong> <span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;">Kohana использует новую <a href="http://kohanaphp.com/license">BSD license</a>.</p>
<p style="margin-bottom: 0cm;"><strong>Yii</strong> <span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;">Yii использует новую <a href="http://www.yiiframework.com/license/">BSD license</a>.<span id="more-30"></span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Совместимость с различными версиями </span><span lang="en-US">PHP</span></h3>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { color: #000080; so-language: zxx; text-decoration: underline } 		A:visited { color: #800000; so-language: zxx; text-decoration: underline } --></p>
<p style="margin-bottom: 0cm;"><strong>CodeIgniter</strong></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">PHP &gt;= 4.3.2 (</span><span lang="ru-RU">Включая все версии </span><span lang="en-US">PHP5).</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">На первый взгляд хорошо, что </span><span lang="en-US">CI </span><span lang="ru-RU">поддерживает </span><span lang="en-US">PHP4 </span><span lang="ru-RU">и </span><span lang="en-US">PHP5. </span><span lang="ru-RU">Однако если вы знакомы с ООП то знаете, что авторы пошли на компромиссы для поддержки </span><span lang="en-US">PHP4. </span><span lang="ru-RU">Это одна из главных причин по которой разработчики стали переходить на другие фреймворки.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Если вы решили использовать </span><span lang="en-US">CI </span><span lang="ru-RU">в своих проектах, рекомендую настроить ваше приложение на использование только </span><span lang="en-US">PHP5 </span><span lang="ru-RU">с нормальным ООП.</span></p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Kohana</span></strong><span lang="ru-RU"> </span></p>
<p style="margin-bottom: 0cm;">PHP &gt;= 5.2.3</p>
<p style="margin-bottom: 0cm;"><strong>Yii</strong></p>
<p style="margin-bottom: 0cm;">PHP &gt;= 5.1.0</p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Поддерживаемые базы данных</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="en-US">CodeIgniter</span><span lang="en-US"> </span></strong><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;">MySQL</p>
<p style="margin-bottom: 0cm;">MySQLi</p>
<p style="margin-bottom: 0cm;">PostgreSQL</p>
<p style="margin-bottom: 0cm;">MSSQL</p>
<p style="margin-bottom: 0cm;">Oracle</p>
<p style="margin-bottom: 0cm;">SQLite</p>
<p style="margin-bottom: 0cm;">ODBC</p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Kohana </span></strong><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;">MySQL</p>
<p style="margin-bottom: 0cm;">MySQLi</p>
<p style="margin-bottom: 0cm;">PostgreSQL</p>
<p style="margin-bottom: 0cm;">MSSQL</p>
<p style="margin-bottom: 0cm;">PDOSqlite</p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Поддерживаются все БД поддерживаемые </span><a href="http://php.net/manual/en/book.pdo.php">PDO (PHP Data Object).</a></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Сообщество</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="en-US">CodeIgniter</span><span lang="en-US"> </span></strong><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Отличное, сильное и активное комьюнити. </span><span lang="en-US">CI</span><span lang="ru-RU"> имеет хороший </span><a href="http://codeigniter.com/forums/">форум</a>, <a href="http://codeigniter.com/bug_tracker/">bug tracker</a><span lang="ru-RU"> и </span><a href="http://codeigniter.com/wiki/">wiki</a>.</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Комьюнити поменьше чем у </span><span lang="en-US">Codeigniter. Kohana </span><span lang="ru-RU">может предложить нам </span><a href="http://forum.kohanaphp.com/">форум</a>, <a href="http://trac.kohanaphp.com/">Trac </a>и <a href="irc://irc.freenode.net/kohana">IRC</a>.</p>
<p style="margin-bottom: 0cm;"><strong><span lang="en-US">Yii </span></strong><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;">Самый молодой фреймворк и по этому имеет самое маленькое комьюнити пользователей, но оно активно развивается по мере увеличения интереса к фреймворку.</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Yii предлагает нам </span><a href="http://www.yiiframework.com/forum/">форум</a><span lang="ru-RU">, </span><a href="http://code.google.com/p/yii/">проект хостящийся на Google Code</a><span lang="ru-RU"> и </span><a href="http://www.yiiframework.com/doc/">раздел докоментации с возможностью комментирования</a><span lang="ru-RU">.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Документация</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="en-US">CodeIgniter</span></strong><span lang="en-US"> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Лучшая документация из всех представленных в данном обзоре фреймворокв. Просто</span><span lang="en-US"> </span><span lang="ru-RU">всеобъемлющая, простая для понимания и актуальная документация. </span></p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Kohana </span></strong><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Документация явно слабее чем у </span><span lang="en-US">CI. </span><span lang="ru-RU">В настоящее время она охватывает большую часть аспектов разработки, однако некоторые части документации являются устаревшими, а иногда и неправильными.</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(плохо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Документация </span><span lang="en-US">Yii, </span><span lang="ru-RU">выглядит довольно хорошо. Все функции и изменения хорошо задокументированы, видно, что происходит с каждой версией </span><span lang="en-US">Yii. Api </span><span lang="ru-RU">документация так же на высоком уровне. Тем не менее, многие особенности на данном этапе не описаны в руководстве.  Что бы разобраться в некоторых вещах приходится полазить по </span><span lang="en-US">API </span><span lang="ru-RU">документации. </span></p>
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;"><span lang="en-US">Tutorial / </span><span lang="ru-RU">Примеры</span></h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">CodeIgniter</span></strong><span lang="ru-RU"><strong> </strong>(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">В </span><span lang="en-US"><a href="http://codeigniter.com/wiki/Tutorials/">wiki</a> </span><span lang="ru-RU">приличное количество статей с примерами, если этого мало есть замечательный форум в котором можно найти решение практически любой задачи.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Kohana </span><span lang="ru-RU">имеет специальную<a href="http://kohanaphp.com/tutorials"> страницу руководства</a>, но оно немного устаревшее. Также организован <a href="http://learn.kohanaphp.com/">учебный центр</a>, который правда не обновлялся с сентября 2008 года.</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;">Yii имеет <a href="http://www.yiiframework.com/doc/cookbook/">Cookbook</a> раздел, который содержит подборку учебных пособий. Как всегда если мало руководства, есть форум.</p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">MVC</h3>
<blockquote>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Все три фреймворка используют архитектуру </span><strong><span lang="en-US"><a href="http://ru.wikipedia.org/wiki/Model-View-Controller">MVC</a> (Model-View-Controller).</span></strong></p>
</blockquote>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">CodeIgniter</span></strong><span lang="ru-RU"> </span></p>
<p style="margin-bottom: 0cm;">Помимо стандартной архитектуры MVC предлагает: <a href="http://codeigniter.com/user_guide/general/libraries.html">библиотеки</a>, <a href="http://codeigniter.com/user_guide/general/plugins.html">плагины</a>, <a href="http://codeigniter.com/user_guide/general/helpers.html">хелперы </a>и <a href="http://codeigniter.com/user_guide/general/hooks.html">хуки</a>.</p>
<p style="margin-bottom: 0cm;"><strong>Kohana </strong></p>
<p style="margin-bottom: 0cm;">Помимо стандартной архитектуры MVC предлагает: <a href="http://docs.kohanaphp.com/general/modules">модули</a>, <a href="http://docs.kohanaphp.com/general/events">события</a>, <a href="http://docs.kohanaphp.com/general/libraries">библиотеки</a>, <a href="http://docs.kohanaphp.com/general/helpers">хелперы</a>, <a href="http://docs.kohanaphp.com/general/hooks">хуки</a>.</p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Yii</span></strong><span lang="ru-RU"> </span></p>
<p style="margin-bottom: 0cm;">Помимо стандартной архитектуры MVC предлагает: <a href="http://www.yiiframework.com/doc/guide/basics.component">компоненты</a>, <a href="http://www.yiiframework.com/doc/guide/basics.module">модули</a>, <a href="http://www.yiiframework.com/doc/guide/extension.overview">расширения</a>, <a href="http://www.yiiframework.com/doc/guide/basics.view#widget">виджеты</a>, хелперы.</p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Модульность</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">CodeIgniter</span></strong><span lang="ru-RU"> (с помощью сторонних библиотек)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">CI </span><span lang="ru-RU">в стандартной поставке не поддерживает модульность, однако вы можете добавить ее сами с помощью сторонних библиотек, таких как: </span><a href="http://codeigniter.com/wiki/Modular_Extensions_-_HMVC">HMVC</a><span lang="ru-RU"> или </span><a href="http://codeigniter.com/forums/viewthread/65749/">Matchbox</a>.</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Kohana </span><span lang="ru-RU">предлагает не только <a href="http://docs.kohanaphp.com/general/modules">модули</a>, но и имеет <a href="http://docs.kohanaphp.com/general/filesystem#cascading">каскадную файловую систему</a> выводящую модульность на новый уровень.</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii </span><span lang="ru-RU">с версии </span><span lang="en-US">1.0.3 </span><span lang="ru-RU">поддерживает <a href="http://www.yiiframework.com/doc/guide/basics.module">модульность</a>.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Конфигурация</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU"></span></strong><span lang="ru-RU"> (хорошо)</span></p>
<p style="margin-bottom: 0cm;">CodeIgniter имеет довольно хорошую <a href="http://codeigniter.com/user_guide/libraries/config.html">конфигурационную систему</a>.</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Kohana </span><span lang="ru-RU">имеет отличную <a href="http://docs.kohanaphp.com/general/configuration">конфигурационную систему</a>.</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii </span><span lang="ru-RU">имеет довольно хорошую <a href="http://www.yiiframework.com/doc/guide/basics.application#application-configuration">конфигурационную систему</a>.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Класс абстракции БД и </span><span lang="en-US">ORM</span></h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">CodeIgniter</span></strong><span lang="ru-RU"> (хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">CodeIgniter обладает очень </span><span lang="ru-RU">мощным<a href="http://codeigniter.com/user_guide/database/index.html"> классом для работы с БД</a>,</span><span lang="en-US"> </span><span lang="ru-RU">который поддерживает как традиционные структуры, так и шаблоны <a href="http://en.wikipedia.org/wiki/Active_record_pattern">Active Record</a>. Но </span><span lang="en-US">не имеет встроенной поддержки ORM.<br />
</span></p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Kohana </span></strong><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Одним из важнейших средством для уменьшения времени разработки проектов для меня является </span><span lang="en-US">ORM. Kohana </span><span lang="ru-RU">предлагает легкую, но достаточно функциональную реализацию </span><span lang="en-US">ORM. </span><span lang="ru-RU">Она не столь сложная как Rails Active Record, но работать с ней достаточно удобно. </span>Особенно люблю простоту обновления <a href="http://docs.kohanaphp.com/libraries/orm/working#adding_and_removing_data_from_many-to-many_relationships">many-to-many</a> записей.</p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">В </span><span lang="en-US">Yii </span><span lang="ru-RU">более сложный <a href="http://www.yiiframework.com/doc/guide/database.arr">синтаксис объявления модели отношений</a>, чем в </span><span lang="en-US">Kohana. </span><span lang="ru-RU">Тем не менее, она так же предлагает более мощный функционал. </span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Авторизация и </span><span lang="en-US">ACL</span></h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">CodeIgniter</span></strong><span lang="ru-RU"> (с помощью сторонних библиотек)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">CI </span><span lang="ru-RU">имеет несколько сторонних библиотек реализующих функционал </span><span lang="en-US">ACL. </span><span lang="ru-RU">Подробней можно почитать на <a href="http://codeigniter.com/forums/">форуме</a>.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Kohana </span><span lang="ru-RU">имеет встроенный <a href="http://docs.kohanaphp.com/addons/auth">модуль авторизации</a>, а также есть несколько сторонних разработок.</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii </span><span lang="ru-RU">имеет встроенный модуль <a href="http://www.yiiframework.com/doc/guide/topics.auth">авторизации и аутентификации</a>, достаточно гибкий и простой в использовании.</span></p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Валидация</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">CodeIgniter</span></strong><span lang="ru-RU"> (отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">CodeIgniter </span><a href="http://codeigniter.com/user_guide/libraries/form_validation.html">form validation library</a><span lang="ru-RU">. </span></p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Kohana </span></strong><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Kohana </span><a href="http://docs.kohanaphp.com/libraries/validation">validation library</a><span lang="ru-RU">. </span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii’s </span><a href="http://www.yiiframework.com/doc/guide/form.model#declaring-validation-rules">использвание валидаторов</a>. Все системные <a href="http://www.yiiframework.com/doc/api/#system.validators">валидаторы</a> хранятся в директории «validators» в главной директории фреймворка.</p>
<p style="margin-bottom: 0cm;">
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Кеширование</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="en-US">Codeigniter</span></strong><span lang="ru-RU"> (частично</span><span lang="en-US">)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Позволяет <a href="http://codeigniter.com/user_guide/general/caching.html">кешировать</a> только страницы полностью.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Kohana </span><span lang="ru-RU">обладает чуть более продвинутой <a href="http://docs.kohanaphp.com/libraries/cache">системой кеширования</a>, которая поддерживает файлы, SQLite, APC, eAccelerator, memcache и XCache based caching.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Yii</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Как и </span><span lang="en-US">Kohana, Yii поддерживает memcache, APC, Xcache </span><span lang="ru-RU">и основанное на БД <a href="http://www.yiiframework.com/doc/guide/caching.overview">кеширование</a> страниц целиком и по частям.</span></p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<h3 style="margin-bottom: 0cm;">Сессии</h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Codeigniter</span></strong><span lang="ru-RU"><strong> </strong>(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><a href="http://codeigniter.com/user_guide/libraries/sessions.html">Класс сессий</a> в </span><span lang="en-US">CI </span><span lang="ru-RU">достаточно хорош, он поддерживает хранение и обработку данных.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Аналогично </span><span lang="en-US">CI, Kohana </span><span lang="ru-RU">предлагает хорошую <a href="http://docs.kohanaphp.com/libraries/session">библиотеку по работе с сессиями</a>.</span></p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Yii </span></strong><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii </span><span lang="ru-RU">предоставляет более мощный и гибкий <a href="http://www.yiiframework.com/doc/api/CHttpSession">класс по работе с сессиями</a>. К сожалению он в данный момент плохо задокументирован. </span></p>
<p style="margin-bottom: 0cm;">
<h3><span lang="en-US">Logging \ Debugging </span></h3>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Codeigniter</span></strong><span lang="ru-RU"><strong> </strong>(хорошо)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">CI </span><span lang="ru-RU">имеет простой <a href="http://codeigniter.com/user_guide/general/errors.html">класс обработки ошибок</a>, а так же <a href="http://codeigniter.com/user_guide/general/profiling.html">profiler класс</a>.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Имеет хороший </span><a href="http://docs.kohanaphp.com/general/logging"><span lang="en-US">logging</span></a><span lang="ru-RU"><a href="http://docs.kohanaphp.com/general/logging"> класс</a>, а так же более <a href="http://docs.kohanaphp.com/libraries/profiler">гибкий профайлер</a>.</span></p>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Yii </span></strong><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii </span><span lang="ru-RU">так же имеет <a href="http://www.yiiframework.com/doc/guide/topics.logging">классы обработки ошибок и профайлер</a>, такие же мошные и гибкие как в </span><span lang="en-US">Kohana.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Шаблоны</span></h3>
<blockquote>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Все три фреймворка используют nativе&#8217;ный </span><span lang="en-US">PHP </span><span lang="ru-RU">в</span><span lang="en-US"> </span><span lang="ru-RU">шаблонах.</span></p>
</blockquote>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Codeigniter</span></strong><span lang="ru-RU"> (поддерживает альтернативный синтаксис)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">CI </span><span lang="ru-RU">также предоставляет альтернативный парсер шаблонов, </span><span lang="en-US"><a href="http://codeigniter.com/user_guide/libraries/parser.html">template parser class</a>.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="en-US">(</span><span lang="ru-RU">поддерживает альтернативный синтаксис с</span><span lang="en-US"> </span><span lang="ru-RU">помощью сторонних библиотек</span><span lang="en-US">)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Kohana </span><span lang="ru-RU">не имеет встроенной поддержки альтернативного синтаксиса шаблонов. Но ее можно добавить с помощью сторонних библиотек, например </span><a href="http://code.google.com/p/temper/">Temper<span lang="ru-RU">.</span></a></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Yii</strong> </span><span lang="ru-RU">(поддерживает альтернативный синтаксис)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii </span><span lang="ru-RU">также поддерживает <a href="http://www.yiiframework.com/doc/guide/topics.prado">альтернативный синтаксис шаблонов</a>, заимствованный из </span><span lang="en-US">PRADO.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Хелперы</span></h3>
<blockquote>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Набор функций, для решения определенных задач.</span></p>
</blockquote>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Codeigniter</span></strong><span lang="ru-RU"> (отлично) </span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Имеет 21 встроенный хелпер.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(отлично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">В </span><span lang="en-US">Kohana </span><span lang="ru-RU">включено 19 хелперов.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Yii</strong> </span><span lang="ru-RU">(частично)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Встроено 6 хелперов.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Встроенные </span><span lang="en-US">JavaScript </span><span lang="ru-RU">библиотеки</span></h3>
<p style="margin-bottom: 0cm;"><strong><span lang="ru-RU">Codeigniter</span></strong><span lang="ru-RU"> (нет)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Нет встроенных библиотек.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(нет)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Нет встроенных библиотек.</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US"><strong>Yii</strong> </span><span lang="en-US">(</span><span lang="ru-RU">Да</span><span lang="en-US">)</span></p>
<p style="margin-bottom: 0cm;"><span lang="en-US">Yii </span><span lang="ru-RU">поставляется с библиотекой </span><span lang="en-US"><a href="http://www.jquery.com/">jQuery</a>. </span><span lang="ru-RU">А также с рядом полезных классов таких как <a href="http://www.yiiframework.com/doc/api/CAutoComplete">авто-дополнение</a>.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<h3 style="margin-bottom: 0cm;">Web сервисы</h3>
<blockquote>
<p style="margin-bottom: 0cm;">Рекомендую интегрировать<a href="http://framework.zend.com/manual/en/"> </a><span lang="en-US"><a href="http://framework.zend.com/manual/en/">Zend Framework</a> </span>для работы с веб сервисами.</p>
</blockquote>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;"><strong>Codeigniter</strong> (ограничено)</p>
<p style="margin-bottom: 0cm;">Есть <span lang="en-US"><a href="http://codeigniter.com/user_guide/libraries/xmlrpc.html">XML-RPC</a> </span>класс.</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU"><strong>Kohana</strong> </span><span lang="ru-RU">(нет)</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Нет поддержки веб сервисов.</span></p>
<p style="margin-bottom: 0cm;"><strong>Yii</strong> (<span lang="ru-RU">ограничено</span>)</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Поддерживается </span><a href="http://www.yiiframework.com/doc/guide/topics.webservice">SOAP</a>.</p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Многоязычность</span></h3>
<p style="margin-bottom: 0cm;"><strong>Codeigniter </strong>(ограничено)</p>
<p style="margin-bottom: 0cm;">В <span lang="en-US">CI </span>встроен простой класс для поддержки <a href="http://codeigniter.com/user_guide/libraries/language.html">многоязычности</a>.</p>
<p style="margin-bottom: 0cm;"><strong>Kohana</strong> (<span lang="ru-RU">плохо</span>)</p>
<p style="margin-bottom: 0cm;">Kohana <span lang="ru-RU">предоставляет базовый класс по работе с<a href="http://docs.kohanaphp.com/general/i18n"> локалями и многоязычностью</a>.</span></p>
<p style="margin-bottom: 0cm;"><strong>Yii</strong> (<span lang="ru-RU">хорошо</span>)</p>
<p style="margin-bottom: 0cm;">Yii <span lang="ru-RU">содержит более полный класс поддержки <a href="http://www.yiiframework.com/doc/guide/topics.i18n">многоязычности</a>.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<h3 style="margin-bottom: 0cm;"><span lang="ru-RU">Unit Testing</span></h3>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Я рекомендую использовать <a href="http://www.simpletest.org/">SimpleTest</a> или <a href="http://www.phpunit.de/">PHPUnit</a> для тестирования.</span></p>
<p style="margin-bottom: 0cm;"><strong>Codeigniter </strong>(ограничено)</p>
<p style="margin-bottom: 0cm;"><span lang="en-US">CI </span>имеет очень простой <a href="http://codeigniter.com/user_guide/libraries/unit_testing.html">класс для тестирования</a>.</p>
<p style="margin-bottom: 0cm;"><strong>Kohana</strong> (<span lang="ru-RU">нет</span>)</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Нет встроенной поддержки </span>Unit <span lang="ru-RU">тестирования.</span></p>
<p style="margin-bottom: 0cm;"><strong>Yii</strong> (<span lang="ru-RU">нет</span>)</p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Так же как и в </span>Kohana <span lang="ru-RU">отсутствует встроенная поддержка </span>Unit <span lang="ru-RU">тестирования.</span></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<h2 style="margin-bottom: 0cm;"><span lang="ru-RU">Вердикт</span></h2>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">На мой взгляд нет лучшего фреймворка, да и целью статьи не было его определение, а скорее анализ плюсов и минусов каждого. А каким пользоваться решать вам. В данный момент я использую </span>CI <span lang="ru-RU">и присматриваюсь к </span>Kohana, <span lang="ru-RU">планирую переносить разработки на него.</span></p>
<p style="margin-bottom: 0cm;"><span lang="ru-RU">Так же можете почитать мой обзор фреймворка <a href="http://2coders.ru/obzor-frejmvorka-codeigniter/">CodeIgniter</a>.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://2coders.ru/vybor-php-frejmvorka-sravnenie-codeigniter-kohana-yii/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
