PHP: Объектно-ориентированный дизайн
Теория: Carbon
Для работы с датами в PHP есть три пути.
- Использовать обычные функции https://php.net/manual/ru/ref.datetime.php
- Использовать встроенные классы, например, https://php.net/manual/ru/class.datetimeimmutable.php
- Воспользоваться сторонней библиотекой
Первый вариант подходит только для примитивных расчётов. Не потому, что функции плохи, а потому, что в PHP их мало и ими неудобно пользоваться (интерфейс для машин, а не для людей). Встроенные классы тоже не сильно облегчают задачу. Они работают на низком уровне и простые операции в стиле "получить дату, которая была неделю назад" становятся целым приключением.
В этом уроке мы рассмотрим третий вариант. Самым популярным сторонним решением для работы с датами в PHP является библиотека Carbon.
В целом принцип работы этой библиотеки совпадает с принципом работы Collect. Создавая объект, мы как бы "оборачиваем" дату, делая её внутренним состоянием объекта. Затем выполняем необходимые операции, используя соответствующие методы. Когда нам снова понадобится дата, то мы сможем её извлечь.
Библиотека Carbon обширна и включает в себя невероятно большое количество методов. Мы рассмотрим буквально несколько, а за остальными добро пожаловать в официальную документацию.
Определение выходного дня
Вывод
Манипулирование датами
Fluent Setters
Carbon предоставляет текучий интерфейс для генерации дат, причём даже несколько видов таких интерфейсов. Его полезность проявляется в местах, где построение дат — динамическое.
Сравнение дат
Отдельного внимания заслуживает сравнение дат, которое учитывает часовые пояса.
Код выше можно переписать, используя обычные операции сравнения.
Рекомендуемые программы
Завершено
0 / 13
.png)


