TGViewer
Channel Public Channel
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

@phpproglib

Все самое полезное для пхпшника в одном канале.

По рекламе: @tproger_sales_bot

Учиться у нас: clc.to/M561SQ

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Subscribers
10.5K
Photos
1.8K
Videos
31
Links
4.6K

Showing posts older than #3981 · Back to latest

Older Posts 19 shown
Post #3980 2.96K
Версионная миграция структуры базы данных через PHP атрибуты

Исчерпывающий гайд, который описывает подход к созданию миграций и определения структуры базы данных в фреймворке Laravel с использованием классов моделей, атрибутов PHP и специальных команд. Автор предлагает использовать атрибуты PHP для определения полей, индексов, отношений и других характеристик таблицы внутри класса модели. Вместе с этим он представляет механизм миграций, который позволяет легко вносить изменения в структуру базы данных.
  • 🥱 5
  • 👍 2
  • 🤔 2
  • 👾 1
Post #3979 3.02K
Объекты-значения в PHP 8: Сущности

🧱 Value Objects (Объекты Значений):
Value Objects — незаслуженно недооценные герои нашего кода, приносящие неизменяемость и предсказуемость в наши приложения. Они инкапсулируют небольшие кусочки данных, обеспечивая постоянство их состояния. Такая предсказуемость упрощает наш код и способствует общей стабильности системы.

👥 Entities (Сущности):
В отличие от Value Objects, Entities обладают уникальной идентичностью, позволяя им изменять свое состояние и сохранять свою индивидуальность. Давайте глубже погрузимся в качества, которые определяют сущность в наших PHP-приложениях.

Основные характеристики Entities включают:

1️⃣Идентичность: У Entities есть уникальный идентификатор, который является ключевым для сценариев, где важны устойчивость и изменяемость.
2️⃣Изменяемость: В отличие от Value Objects, Entities могут изменять свое состояние в течение жизненного цикла, приспосабливаясь к различным сценариям.
3️⃣Устойчивость за пределами одной транзакции: Entities сохраняются за пределами одной транзакции, обеспечивая их долговечность через взаимодействие с системой. В статье рекомендуется использование шаблона Repository для хранения и извлечения Entities.

Здесь представлен концепт Immutable Entities, достигаемый с использованием открытых только для чтения свойств и создания новых экземпляров для каждого изменения. Также рассматривается проблема управления версиями сущности, предлагая решение на основе создания хеш-строки для стабильной и сравнимой идентификации версии.

Демонстрируется интеграция Value Objects в Entities, улучшающая ясность кода и поддерживаемость. Выделены практические соображения при выборе между Value Objects и Entities в зависимости от конкретных требований системы.
DEV Community Value Objects in PHP 8: Entities Table of contents Introduction Entities Identity in Entities Mutability and State...
  • 👍 9
  • ❤ 1
Post #3978 2.91K
Первый #дайджест новостей по PHP в этом году:

🔎Вышел Laravel 10.39 — На этой неделе команда Laravel выпустила версию 10.39 с циклической почтовой программой, динамическим максимальным количеством попыток для заданий в очереди и многим другим.

🔎Выпущена Symfony 7.0.2 — Вот список наиболее важных изменений со времен версии 7.0.1.

🔎Неделя Symfony #887 (25-31 декабря 2023 г.)

🔎Выпущен PHP 8.2.14 — Это релиз с исправлением ошибок. Всем пользователям PHP 8.2 рекомендуется выполнить обновление до этой версии.

🔎Выпущена версия CakePHP Audit-stash 4.0.0. — Что изменилось: исправлены неработающие тесты на локальном компьютере и добавлен конвейер действий GH от cnizzardini
  • ❤ 5
  • 😁 2
Post #3976 2.89K
🎅 Новый год — отличное время для старта!

🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d

📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.

Конечно, советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
– Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)

🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.

☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.

👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d

🫶 Всех с наступающим новым годом!
Post #3975 2.86K
Разговор на собеседовании часто сопровождается некоторым напряжением, но иногда вопросы могут звучать настолько необычно, что создается впечатление настоящего шоу абсурда. Расскажите о самых неудобных и странных вопросах, которые вам когда-либо задавали на собеседованиях. 🤔
Post #3974 3.36K
Многоуровневое логирование: Руководство по структурированному и последовательному ведению логов

Структура логов важна, особенно с ростом команды, чтобы обеспечить ясность и последовательность в данных логов.

Автор обсудил пример логирования IP-адреса клиента и подчеркнул, что стандартизированный и лаконичный подход к логированию на всех платформах является ключом к успешному поддержанию уровней логирования.

Далее была представлена Elastic Common Schema (ECS) как открытая спецификация для стандартизации логов. Документация ECS была подробно рассмотрена, и автор поделился примером реализации ECS в PHP с использованием пакета PECS (PHP Elastic Common Schema).

PECS предоставляет абстракцию и соглашение для реализации ECS в PHP, предоставляя генератор классов на основе JSON-конфигурации ECS. Также была представлена интеграция PECS с Monolog, что облегчает работу с Symfony и Laravel.
  • 👍 1
Post #3973 3.07K
Работа с десятичными дробями в приложениях PHP

📝 Статья обсуждает соображения и преимущества использования объектов значений с десятичными значениями в PHP-приложениях, особенно при взаимодействии с базами данных и ORM.

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

📘 Представлена библиотека php-collective/decimal-object, предоставляющая простой API для работы с десятичными значениями с поддержкой типизации и автодополнения.

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

🔄 Обсуждение расширяется на интеграцию десятичных объектов значений с популярными PHP-фреймворками и ORM, такими как CakePHP, Symfony и Laravel.

⚙️ Также предоставлены примеры конфигурации этих фреймворков для использования DecimalObjectType или аналогичных пользовательских типов данных для бесшовной интеграции.

🔄 Рассматриваются аспекты неизменяемости, локализации и производительности с подчерком преимуществ использования объектов значений для улучшения читаемости кода.
  • 🔥 3
  • 👍 1
  • 🌚 1
Post #3971 3.09K
Расскажите про функции defined и get_defined_constants

defined():
Функция defined() используется для проверки существования константы с заданным именем. Она возвращает true, если константа существует, и false, если нет.

get_defined_constants():
Функция get_defined_constants() возвращает ассоциативный массив, содержащий все определенные константы в текущем скрипте. Этот массив имеет два уровня: глобальные константы и локальные (если они определены внутри функции).

#вопросы_с_собеседований
  • 👍 10
  • 😁 4
  • 👾 2
  • 🔥 1
Post #3970 3.25K
#memes
  • 👍 22
  • ❤ 2
  • 🥱 1
Post #3969 3.3K
Laravel Octane и FrankenPHP

🌐Laravel Octane использует подход жизненного цикла приложения, запуская его один раз и храня его в памяти для быстрого ответа на запросы. Основной мощью Octane является использование серверов приложений, таких как Swoole, OpenSwoole, Roadrunner и FrankenPHP.🚀

🤖FrankenPHP — это сервер приложений, созданный специально для PHP, предлагающий продвинутые функции, такие как поддержка PHP 8.3, режим работников, поддержка современных форматов сжатия, поддержка HTTPS, HTTP/2 и HTTP/3, автоматическая генерация, обновление и отзыв сертификатов HTTPS, а также плавная перезагрузка.

⚙️Процесс установки Laravel Octane с FrankenPHP включает создание нового приложения Laravel, установку Octane и выбор FrankenPHP в качестве сервера. После установки можно запустить сервер с указанием числа работников для эффективной обработки конкурентных запросов.

Это поможет значительно улучшить время ответа благодаря запуску приложения один раз и его хранению в памяти для последующих запросов. Это обеспечивает эффективную обработку входящих запросов и значительное сокращение времени ответа, особенно после того, как все работники ответили на первоначальные запросы.
DEV Community Laravel Octane and FrankenPHP In the world of web development, speed of execution and optimal performance are essential. Laravel...
  • 👍 4
  • 😁 4
  • 🥱 3
  • ❤ 1
  • 🎉 1
Post #3968 2.99K
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Post #3966 3.01K
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
  • 🥰 2
  • 👏 1
Post #3965 3.22K
🚀в Docker Desktop версии 4.19.0+ добавили новую команду под названием «docker init». Она автоматизирует создание необходимых Docker-файлов, файлов Compose и .dockerignore для проектов с целью устранения ручной конфигурации. Преимущества включают быстрые эксперименты, улучшенное обучение и безшовную интеграцию с стандартизированными рабочими процессами.

🛠️Команда docker init, представленная в Docker Desktop версии 4.18, автоматически создает Docker-ресурсы для проектов, включая файлы .dockerignore, Dockerfile и docker-compose.yaml. Она поддерживает различные платформы приложений, такие как Go, Node, Python, и в последнем релизе добавлена поддержка PHP.

👩‍💻Здесь предоставляется пошаговое руководство по настройке базовой среды Apache + PHP с использованием Composer на macOS, а затем демонстрируется использование docker init для контейнеризации PHP-приложения. Dockerfile и docker-compose.yaml генерируются автоматически, обеспечивая быстрое и эффективное создание контейнеров.

❓Команда docker init предлагает выбрать платформу приложения, версию, относительный каталог и предпочтительный порт. Она также предупреждает, если Docker-файлы уже существуют, и предлагает их перезаписать. Сгенерированные Docker-файлы включают этапы установки зависимостей приложения, определенных в Composer, и запуска приложения с минимальными зависимостями времени выполнения.
DEV Community Dockerizing PHP Application using Docker Init Gone are the days of manually wrangling Dockerfiles and configuration files! Enter docker init, your...
  • 👍 20
  • 🥱 1
Post #3963 3.54K
PHPCTL

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

Установка phpctl проста: необходимо склонировать репозиторий и выполнить установочный скрипт. Инструмент предоставляет разнообразные команды, включая php, composer, phpunit, php-cs-fixer и phpstan. Кроме того, существует команда phpctl init для инициализации конфигураций для различных инструментов, таких как PHPUnit.

Преимуществом этого инструмента являются удобство и стандартизация, которые приносит использование контейнеров в разработке на PHP, облегчая управление зависимостями и обеспечивая согласованность между разными окружениями.
  • 👍 13
  • ❤ 3
  • 🤔 3
  • 🥱 1
Post #3962 3.2K

Forwarded from Библиотека программиста

CI/CD Workflow: упрощенный гайд от ByteByteGo (Alex Xu)

CI/CD — это методология, которая позволяет автоматизировать процесс разработки и доставки ПО в продакшн.

Будь вы разработчиком, специалистом по DevOps, тестировщиком или занимаетесь любой современной ролью в ИТ, CI/CD пайплайны стали неотъемлемой частью процесса разработки.

#инфографика
  • 👍 4
  • 👏 2
Post #3961 3.1K
Чему вы бы хотели научиться за эти праздники?
  • 😁 11
  • 🎉 2
Post #3956 3.05K

Forwarded from Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck

🧠🧩 Зачем айтишнику психолог?

В современных реалиях все больше специалистов ИТ-индустрии обращаются к психологам, чтобы разобраться с эмоциональными проблемами. Рассмотрим некоторые распространенные запросы и проблемы, с которыми сталкиваются айтишники.

🔗 Читать статью
🔗 Зеркало
  • 🎉 5
  • 🌚 4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →