<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

Работа с датой и временем в PHP в ООП стиле. Часть 1

Работа с датой и временем в PHP в ООП стиле. Часть 1

Перед web-разработчиками часто возникают задачи, в которых они должны работать с датой и временем. Если вы все еще используете PHP функции, такие как strtotime и date для работы с датой и временем в PHP, то вы многое упускаете.

PHP предоставляет специализированный класс DateTime для работы с датой и временем. Однако, многие игнорируют его использование, несмотря на то, что он доступен в PHP начиная с версии 5.2.

Вот несколько причин, почему предпочтительнее использовать класс DateTime вместо strtotime и date:

  1. Класс DateTime может работать с большим числом форматов даты и времени по сравнению с strtotime.
  2. Работать с объектами легче, чем с функциями. Даты, являющиеся объектами класса DateTime можно сравнивать напрямую, как обычные числа. Тогда как для сравнения двух дат с помощью функции strtotimе нам необходимо сначала преобразовать их во временные метки и только затем сравнить.
  3. Объектно-ориентированный интерфейс DateTime скрывает много внутренней логики работы с датой и обеспечивает понятный и однозначный интерфейс.

Создание объекта класса DateTime.

Создание объекта класса DateTime ничем не отличается от создания экземпляра какого-либо другого класса в PHP.

Если в конструктор класса DateTime не передавать параметр, то будет создан объект с текущей временной меткой и временной зоной по умолчанию. Временная зона в PHP, как правило, настраивается в файле php.ini. Вот так создается объект DateTime с текущим временем.

  $now = new DateTime();

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

Несколько примеров создания объекта DateTime с передачей в конструктор строки, содержащей время.

  $yesterday = new DateTime('yesterday'); // вчера
  $twoDaysLater = new DateTime('+ 2 days'); // на 2 дня вперед
  $oneWeekEarly = new DateTime('- 1 week'); // минус одна неделя

Второй параметр конструктора класса DateTime позволяет определить временную зону. Этот параметр имеет тип DateTimeZone.

Например, чтобы создать объект класса DateTime с временной зоной Москвы надо сделать следующее:

$yesterdayInMoscow = new DateTime('yesterday', new DateTimeZone('Moscow'));

Конечно, мы также можем создать объект DateTime как обычно, с помощью строки.

  $dateTime = new DateTime('2015-01-01 12:30:12');

Формат

В зависимости от системы, которую мы собираемся проектировать, нам могут понадобится различные форматы даты и времени. Форматирование объекта DateTime в формат необходимый в конкретном проекте достаточно просто делается через метод DateTime::format().

Метод DateTime::format() принимает в качестве параметра строку. Эта строка может включать плейсхолдеры, перечисленные на странице официальной документации PHP.

Например, чтобы получить подобный формат YYYY-dd-mm, где Y – год, d – день, m – месяц необходимо сделать следующее:

  $now = new DateTime();
  $now = $now->format('Y-m-d');

Мы можем создать любой желаемый формат даты. Вот несколько дополнительных опций:

 print_r($now->format('jS F Y'));
  print_r($now->format('ga jS M Y'));
  print_r($now->format('Y/m/d s:i:H'));

Сравнение дат и времени

Для того, чтобы сравнить две даты с помощью встроенной в PHP функции strtotime, нам сначала нужно преобразовать строковое содержимое этих дат в их эквиваленты временных меток.

В отличие же, от данной функции, объект DateTime предоставляет возможность сравнивать два объекта DateTime как два обычных числа. Вот несколько примеров:

  $today = new DateTime('today');
  $yesterday = new DateTime('yesterday');

  var_dump($today > $yesterday); // bool(true)
  var_dump($today < $yesterday); // bool(false)
  var_dump($today == $yesterday); // bool(false)

Но бывают случаи, когда логическое значение от сравнения двух дат недостаточно. Например, нам нужно знать, точную разницу между двумя датами. И DateTime::diff() является тем методом, который поможет нам узнать разницу между двумя объектами DateTime. Этот метод возвращает объект класса DateInterval, который может быть использован для получения интервала, в любом требуемом нами формате посредством метода DateInterval::format.

Например, для получения количества дней между сегодняшней датой и вчерашней датой, мы можем сделать следующее:

  $interval = $today->diff($yesterday);
  echo $interval->format('%d день назад') // 1 день назад

Со всем разнообразием свойств класса DateInterval вы можете ознакомиться на официальном сайте PHP.

На этом все, и в следующей статье мы продолжим изучать классы для работы с датой и временем в PHP.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

komron02 komron02 12.07.2018 20:48:30

Всем привет извините что пишу здесь но е могли бы подсказать хотел бы узнать как сделать так что бы ретрансляцию для моего сайта хочу чтобы например телеканал тнт транслировалась прямо с моего сайта а не сервера тнт.. Вот этот сайт введет трансляцию мачт тв с своего сервера http://fifa.beta.tj/schedule

Ответить

Castels Castels 13.07.2018 13:30:11

Уточните, пожалуйста, вы хотите чтобы, когда пользователь заходил к Вам на сайт, то он мог бы смотреть передачу на вашем сайте?

Ответить

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