<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Склонение слов на PHP

Склонение слов на PHP

Весьма популярной проблемой, с которой сталкиваются Web-программисты, это склонение слов на PHP. Например, нужно вывести, сколько минут назад была оставлено какое-нибудь сообщение. Можно написать просто число и слово "минут". Но тогда будет написано весьма странно, например, "1 минут", "2 минут" и так далее. Фактически, без склонения слов на PHP Вам не обойтись, если, конечно, Вы хотите писать по-русски.

Проблема новичкам покажется очень сложной, но, на самом деле, у склонения слов есть определённая закономерность. Посмотрите сами: "1 минута, 2 минуты, 5 минут, 11 минут, 19 минут, 21 минута, 22 минуты, 25 минут и так далее". Видите закономерность? 1, 21, 31, 41 - всегда будет "минута". Если младший разряд больше 1-го и меньше 5, при этом само число при делении на 100 имеет остаток больше 20 (то есть, например, не число 12 и не 112), то будут "минуты". В остальных случаях "минут".

А вот дальше уже начинается построение алгоритма, поскольку закономерность очевидно имеется. Я приведу Вам, на мой взгляд, самый красивый алгоритм. Он наиболее короткий, и в то же время очень быстрый.

<?php
  function getWord($number, $suffix) {
    $keys = array(2, 0, 1, 1, 1, 2);
    $mod = $number % 100;
    $suffix_key = ($mod > 7 && $mod < 20) ? 2: $keys[min($mod % 10, 5)];
    return $suffix[$suffix_key];
  }
  $array = array("минута", "минуты", "минут");   $n = 21;
  $word = getWord($n, $array);
  echo "$n $word<br />";
  $n = 11;
  $word = getWord($n, $array);
  echo "$n $word<br />";
  $n = 4;
  $word = getWord($n, $array);
  echo "$n $word<br />";
?>

Запустив данный скрипт Вы увидите, что склонение слов на PHP происходит на ура. Могу лишь добавить, что помимо "минут" там может быть "день", "час", "человек", "компьютер" и все другие существительные, которые склоняются в зависимости от числительного.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (8):

lion337 lion337 03.07.2012 01:32:57

Спасибо Михаил за скрипт как раз в тему, давно хотел создать такой скрипт да руки не доходили. Побольше бы таких продуктивных уроков. А так ты молодец!

Ответить

ac-40-6.0 ac-40-6.0 07.07.2012 17:35:07

Как оказывается просто! Я пошел длинной дорогой. if(($age===1)||($age===2)||...){$mes_age = 'года';}

Ответить

malina95 malina95 15.06.2013 16:17:01

Михаилу это легко делать потому что он умный, и знает математику, я не знаю математику и мне написать такое никогда не удастся

Ответить

lev_100rus lev_100rus 27.07.2013 12:36:58

Михаил, у Вас ошибка в слове "компьтер"

Ответить

Admin Admin 27.07.2013 17:38:18

Спасибо, исправил.

Ответить

SSkiller SSkiller 13.12.2013 15:14:42

Это перевод на русский язык, а если сайт мультиязычный? Для этого все уже давно придумано и есть такие утилиты как gettext

Ответить

tikkiwiki tikkiwiki 16.12.2013 10:40:46

Ваше дело, используйте их.

Ответить

tr-td table tr-td table 17.06.2014 14:03:42

Прокомментируйте, пожалуйста, функцию.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.