<?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>Zend Framework по-русски &#187; plural</title>
	<atom:link href="http://zend-framework.ru/tag/plural/feed/" rel="self" type="application/rss+xml" />
	<link>http://zend-framework.ru</link>
	<description>Статьи, руководства и заметки о фреймворке для PHP - Zend Framework</description>
	<lastBuildDate>Mon, 30 Aug 2010 20:21:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Склонение существительных во множественном числе (Plural)</title>
		<link>http://zend-framework.ru/view-helper-plural/</link>
		<comments>http://zend-framework.ru/view-helper-plural/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 12:07:50 +0000</pubDate>
		<dc:creator>Сергей Митрошин</dc:creator>
				<category><![CDATA[Прочее]]></category>
		<category><![CDATA[Руководства]]></category>
		<category><![CDATA[plural]]></category>
		<category><![CDATA[Zend_View]]></category>

		<guid isPermaLink="false">http://zend-framework.ru/?p=169</guid>
		<description><![CDATA[Здравствуйте. Думаю, многие из вас сталкивались с проблемой склонения существительных в зависимости от какого-либо числа. Например, &#8220;15 дней&#8221;. А если будет 21, выводить &#8220;21 дней&#8221;? Для решения этой проблемы написано множество функций, но я не встречал реализации в виде помощника Zend_View. Итак, встречайте: App_View_Helper_Plural. 123456789101112131415class Helper_View_Plural extends Zend_View_Helper_Abstract &#123; &#160; &#160; public function plural&#40;$n, $form1, [...]]]></description>
			<content:encoded><![CDATA[<p>Здравствуйте.<br />
Думаю, многие из вас сталкивались с проблемой склонения существительных в зависимости от какого-либо числа. Например, &#8220;15 дней&#8221;. А если будет 21, выводить &#8220;21 дней&#8221;? Для решения этой проблемы написано <a href="http://translate.sourceforge.net/wiki/l10n/pluralforms#r">множество функций</a>, но я не встречал реализации в виде помощника Zend_View. Итак, встречайте: App_View_Helper_Plural.</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">class</span> Helper_View_Plural <span class="kw2">extends</span> Zend_View_Helper_Abstract<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw2">function</span> plural<span class="br0">&#40;</span><span class="re0">$n</span><span class="sy0">,</span> <span class="re0">$form1</span><span class="sy0">,</span> <span class="re0">$form2</span><span class="sy0">,</span> <span class="re0">$form3</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$plural</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="re0">$n</span> <span class="sy0">%</span> <span class="nu0">10</span> <span class="sy0">==</span> <span class="nu0">1</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$n</span> <span class="sy0">%</span> <span class="nu0">100</span> <span class="sy0">!=</span> <span class="nu0">11</span> ? <span class="nu0">0</span> <span class="sy0">:</span> <span class="br0">&#40;</span><span class="re0">$n</span> <span class="sy0">%</span> <span class="nu0">10</span> <span class="sy0">&gt;=</span> <span class="nu0">2</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$n</span> <span class="sy0">%</span> <span class="nu0">10</span> <span class="sy0">&lt;=</span> <span class="nu0">4</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span><span class="re0">$n</span> <span class="sy0">%</span> <span class="nu0">100</span> <span class="sy0">&lt;</span> <span class="nu0">10</span> or <span class="re0">$n</span> <span class="sy0">%</span> <span class="nu0">100</span> <span class="sy0">&gt;=</span> <span class="nu0">20</span><span class="br0">&#41;</span> ? <span class="nu0">1</span> <span class="sy0">:</span> <span class="nu0">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">switch</span><span class="br0">&#40;</span><span class="re0">$plural</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="nu0">0</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">default</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$form1</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="nu0">1</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$form2</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="nu0">2</span><span class="sy0">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$form3</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span> <br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>Использование (в шаблоне):</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st_h">'1 '</span> <span class="sy0">.</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">plural</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st_h">'день'</span><span class="sy0">,</span> <span class="st_h">'дня'</span><span class="sy0">,</span> <span class="st_h">'дней'</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&lt;br&gt;'</span><span class="sy0">;</span><br />
<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st_h">'4 '</span> <span class="sy0">.</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">plural</span><span class="br0">&#40;</span><span class="nu0">4</span><span class="sy0">,</span> <span class="st_h">'день'</span><span class="sy0">,</span> <span class="st_h">'дня'</span><span class="sy0">,</span> <span class="st_h">'дней'</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&lt;br&gt;'</span><span class="sy0">;</span><br />
<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st_h">'25 '</span> <span class="sy0">.</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">plural</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="sy0">,</span> <span class="st_h">'день'</span><span class="sy0">,</span> <span class="st_h">'дня'</span><span class="sy0">,</span> <span class="st_h">'дней'</span><span class="br0">&#41;</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p>Вывод:</p>
<blockquote><p>
1 день<br />
4 дня<br />
25 дней
</p></blockquote>
<p>Надеюсь, этого поможет вам сделать ваши проекты более удобными для пользователей.<br />
Всего доброго.</p>
<hr />
<p><small>
<a href="http://zend-framework.ru/view-helper-plural/#comments">6 comments</a>
<br/>
Post tags: <a href="http://zend-framework.ru/tag/plural/" rel="tag">plural</a>, <a href="http://zend-framework.ru/tag/zend_view/" rel="tag">Zend_View</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://zend-framework.ru/view-helper-plural/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
