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 в качестве сервера. После установки можно запустить сервер с указанием числа работников для эффективной обработки конкурентных запросов.
Это поможет значительно улучшить время ответа благодаря запуску приложения один раз и его хранению в памяти для последующих запросов. Это обеспечивает эффективную обработку входящих запросов и значительное сокращение времени ответа, особенно после того, как все работники ответили на первоначальные запросы.
🌐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
Расскажите про функции defined и get_defined_constants
defined():
Функция defined() используется для проверки существования константы с заданным именем. Она возвращает true, если константа существует, и false, если нет.
get_defined_constants():
Функция get_defined_constants() возвращает ассоциативный массив, содержащий все определенные константы в текущем скрипте. Этот массив имеет два уровня: глобальные константы и локальные (если они определены внутри функции).
#вопросы_с_собеседований
defined():
Функция defined() используется для проверки существования константы с заданным именем. Она возвращает true, если константа существует, и false, если нет.
get_defined_constants():
Функция get_defined_constants() возвращает ассоциативный массив, содержащий все определенные константы в текущем скрипте. Этот массив имеет два уровня: глобальные константы и локальные (если они определены внутри функции).
#вопросы_с_собеседований
👍10😁4👾2🔥1
Работа с десятичными дробями в приложениях PHP
📝 Статья обсуждает соображения и преимущества использования объектов значений с десятичными значениями в PHP-приложениях, особенно при взаимодействии с базами данных и ORM.
🚫 Подчеркиваются ограничения и проблемы, связанные с использованием чисел с плавающей точкой, и предлагается применять тип данных decimal в случаях, когда важна точность и масштаб.
📘 Представлена библиотека php-collective/decimal-object, предоставляющая простой API для работы с десятичными значениями с поддержкой типизации и автодополнения.
🔍 Демонстрируется использование этой библиотеки для выполнения вычислений и сравнений более надежно, чем с использованием встроенных чисел с плавающей точкой.
🔄 Обсуждение расширяется на интеграцию десятичных объектов значений с популярными PHP-фреймворками и ORM, такими как CakePHP, Symfony и Laravel.
⚙️ Также предоставлены примеры конфигурации этих фреймворков для использования DecimalObjectType или аналогичных пользовательских типов данных для бесшовной интеграции.
🔄 Рассматриваются аспекты неизменяемости, локализации и производительности с подчерком преимуществ использования объектов значений для улучшения читаемости кода.
📝 Статья обсуждает соображения и преимущества использования объектов значений с десятичными значениями в PHP-приложениях, особенно при взаимодействии с базами данных и ORM.
🚫 Подчеркиваются ограничения и проблемы, связанные с использованием чисел с плавающей точкой, и предлагается применять тип данных decimal в случаях, когда важна точность и масштаб.
📘 Представлена библиотека php-collective/decimal-object, предоставляющая простой API для работы с десятичными значениями с поддержкой типизации и автодополнения.
🔍 Демонстрируется использование этой библиотеки для выполнения вычислений и сравнений более надежно, чем с использованием встроенных чисел с плавающей точкой.
🔄 Обсуждение расширяется на интеграцию десятичных объектов значений с популярными PHP-фреймворками и ORM, такими как CakePHP, Symfony и Laravel.
⚙️ Также предоставлены примеры конфигурации этих фреймворков для использования DecimalObjectType или аналогичных пользовательских типов данных для бесшовной интеграции.
🔄 Рассматриваются аспекты неизменяемости, локализации и производительности с подчерком преимуществ использования объектов значений для улучшения читаемости кода.
🔥3👍1🌚1
Многоуровневое логирование: Руководство по структурированному и последовательному ведению логов
Структура логов важна, особенно с ростом команды, чтобы обеспечить ясность и последовательность в данных логов.
Автор обсудил пример логирования IP-адреса клиента и подчеркнул, что стандартизированный и лаконичный подход к логированию на всех платформах является ключом к успешному поддержанию уровней логирования.
Далее была представлена Elastic Common Schema (ECS) как открытая спецификация для стандартизации логов. Документация ECS была подробно рассмотрена, и автор поделился примером реализации ECS в PHP с использованием пакета PECS (PHP Elastic Common Schema).
PECS предоставляет абстракцию и соглашение для реализации ECS в PHP, предоставляя генератор классов на основе JSON-конфигурации ECS. Также была представлена интеграция PECS с Monolog, что облегчает работу с Symfony и Laravel.
Структура логов важна, особенно с ростом команды, чтобы обеспечить ясность и последовательность в данных логов.
Автор обсудил пример логирования IP-адреса клиента и подчеркнул, что стандартизированный и лаконичный подход к логированию на всех платформах является ключом к успешному поддержанию уровней логирования.
Далее была представлена Elastic Common Schema (ECS) как открытая спецификация для стандартизации логов. Документация ECS была подробно рассмотрена, и автор поделился примером реализации ECS в PHP с использованием пакета PECS (PHP Elastic Common Schema).
PECS предоставляет абстракцию и соглашение для реализации ECS в PHP, предоставляя генератор классов на основе JSON-конфигурации ECS. Также была представлена интеграция PECS с Monolog, что облегчает работу с Symfony и Laravel.
Хабр
Многоуровневое логирование: Руководство по структурированному и последовательному ведению логов
В прошлом месяце мне представилась возможность выступить на AmsterdamPHP с докладом на тему уровней логирования. Полученные положительные отзывы вдохновили меня на то, чтобы поделиться этой...
👍1
Разговор на собеседовании часто сопровождается некоторым напряжением, но иногда вопросы могут звучать настолько необычно, что создается впечатление настоящего шоу абсурда. Расскажите о самых неудобных и странных вопросах, которые вам когда-либо задавали на собеседованиях. 🤔
🎅 Новый год — отличное время для старта!
🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d
📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Конечно, советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
– Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.
👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d
🫶 Всех с наступающим новым годом!
🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d
📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Конечно, советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
– Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.
👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d
🫶 Всех с наступающим новым годом!
ETL (Extract / Transform / Load) библиотека с принципами SOLID + почти без зависимостей.
GitHub
GitHub - bpolaszek/bentools-etl: PHP ETL (Extract / Transform / Load) library with SOLID principles + almost no dependency.
PHP ETL (Extract / Transform / Load) library with SOLID principles + almost no dependency. - bpolaszek/bentools-etl
👍5🌚2
Первый #дайджест новостей по 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
🔎Вышел 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
Объекты-значения в 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 в зависимости от конкретных требований системы.
🧱 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
Версионная миграция структуры базы данных через PHP атрибуты
Исчерпывающий гайд, который описывает подход к созданию миграций и определения структуры базы данных в фреймворке Laravel с использованием классов моделей, атрибутов PHP и специальных команд. Автор предлагает использовать атрибуты PHP для определения полей, индексов, отношений и других характеристик таблицы внутри класса модели. Вместе с этим он представляет механизм миграций, который позволяет легко вносить изменения в структуру базы данных.
Исчерпывающий гайд, который описывает подход к созданию миграций и определения структуры базы данных в фреймворке Laravel с использованием классов моделей, атрибутов PHP и специальных команд. Автор предлагает использовать атрибуты PHP для определения полей, индексов, отношений и других характеристик таблицы внутри класса модели. Вместе с этим он представляет механизм миграций, который позволяет легко вносить изменения в структуру базы данных.
Хабр
Версионная миграция структуры базы данных через PHP атрибуты
Всегда немного раздражало что при написании миграций в Laravel сначала необходимо прописывать поля в классе модели, а затем эти же поля в миграциях. И когда мне понадобилось написать версионирование...
🥱5👍2🤔2👾1
Объекты значений в PHP 8: расширенное использование
Этот материал является частью цикла статей про объекты-значения, как и вчерашний пост. Он занимается пониманием и использованием объектов-значений (Value Objects), классифицируя их на три основных типа: Простые, Сложные и Композитные.
1️⃣Простые объекты-значения: Они инкапсулируют единственное значение, представляя основные концепции в предметной области. В статье используется пример объекта-значения Age, включая рекомендации, такие как соблюдение принципа единственной ответственности, неизменяемость, валидация, строковое представление и метод для проверки равенства.
2️⃣Сложные объекты-значения: Они обрабатывают более сложные структуры или несколько атрибутов, моделируя более богатые концепции в предметной области. Статья иллюстрирует это на примере объекта-значения Coordinates, представляющего географические координаты. Здесь акцент делается на структурированном представлении, валидации, значимом строковом представлении и методе для проверки равенства.
3️⃣Композитные объекты-значения: Они объединяют несколько простых или сложных объектов-значений в единый комплексный объект, представляя более сложные концепции в предметной области. Примером служит композитный объект-значение Address, состоящий из улицы, города и почтового индекса. Здесь рекомендации включают композицию, абстракцию, значимое строковое представление и метод для проверки равенства.
Здесь также обсуждаются фабричные методы и закрытые конструкторы, на примере DateTimeValueObject. Это демонстрирует гибкость использования закрытых или открытых конструкторов в зависимости от дизайнерских предпочтений.
Кроме того, рассмотрены альтернативы исключениям, представляя концепцию Either и объединенные типы (Union Types) в PHP 8.0 для обработки ошибок. Оба подхода предоставляют гибкость управления результатами, где Either предлагает структурированный метод, а объединенные типы соответствуют философии «позвольте ему быстро завершиться».
Этот материал является частью цикла статей про объекты-значения, как и вчерашний пост. Он занимается пониманием и использованием объектов-значений (Value Objects), классифицируя их на три основных типа: Простые, Сложные и Композитные.
1️⃣Простые объекты-значения: Они инкапсулируют единственное значение, представляя основные концепции в предметной области. В статье используется пример объекта-значения Age, включая рекомендации, такие как соблюдение принципа единственной ответственности, неизменяемость, валидация, строковое представление и метод для проверки равенства.
2️⃣Сложные объекты-значения: Они обрабатывают более сложные структуры или несколько атрибутов, моделируя более богатые концепции в предметной области. Статья иллюстрирует это на примере объекта-значения Coordinates, представляющего географические координаты. Здесь акцент делается на структурированном представлении, валидации, значимом строковом представлении и методе для проверки равенства.
3️⃣Композитные объекты-значения: Они объединяют несколько простых или сложных объектов-значений в единый комплексный объект, представляя более сложные концепции в предметной области. Примером служит композитный объект-значение Address, состоящий из улицы, города и почтового индекса. Здесь рекомендации включают композицию, абстракцию, значимое строковое представление и метод для проверки равенства.
Здесь также обсуждаются фабричные методы и закрытые конструкторы, на примере DateTimeValueObject. Это демонстрирует гибкость использования закрытых или открытых конструкторов в зависимости от дизайнерских предпочтений.
Кроме того, рассмотрены альтернативы исключениям, представляя концепцию Either и объединенные типы (Union Types) в PHP 8.0 для обработки ошибок. Оба подхода предоставляют гибкость управления результатами, где Either предлагает структурированный метод, а объединенные типы соответствуют философии «позвольте ему быстро завершиться».
Telegram
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Объекты-значения в PHP 8: Сущности
🧱 Value Objects (Объекты Значений):
Value Objects — незаслуженно недооценные герои нашего кода, приносящие неизменяемость и предсказуемость в наши приложения. Они инкапсулируют небольшие кусочки данных, обеспечивая постоянство…
🧱 Value Objects (Объекты Значений):
Value Objects — незаслуженно недооценные герои нашего кода, приносящие неизменяемость и предсказуемость в наши приложения. Они инкапсулируют небольшие кусочки данных, обеспечивая постоянство…
👍6
Для чего используется функция header()?
Функция header() в PHP используется для отправки HTTP-заголовков из сервера в браузер.
Основные случаи использования функции header() в PHP включают:
1. Установка статуса и заголовков ответа сервера:
В этом примере функция header() устанавливает статус ответа на «200 OK» и тип содержимого на «application/json».
2. Управление кешированием:
В этом примере функция header() устанавливает заголовки, которые предотвращают кеширование страницы в браузере.
3. Перенаправление пользователя на другую страницу:
В этом примере функция header() выполняет перенаправление пользователя на указанный URL.
4. Установка cookie:
В этом примере функция header() устанавливает cookie с именем «name» и значением «value», а также указывает срок и путь доступа к cookie.
Важно отметить, что функция header() должна быть вызвана до вывода любого другого содержимого на страницу, чтобы гарантировать успешное отправление заголовков.
#вопросы_с_собеседований
Функция header() в PHP используется для отправки HTTP-заголовков из сервера в браузер.
Основные случаи использования функции header() в PHP включают:
1. Установка статуса и заголовков ответа сервера:
В этом примере функция header() устанавливает статус ответа на «200 OK» и тип содержимого на «application/json».
2. Управление кешированием:
В этом примере функция header() устанавливает заголовки, которые предотвращают кеширование страницы в браузере.
3. Перенаправление пользователя на другую страницу:
В этом примере функция header() выполняет перенаправление пользователя на указанный URL.
4. Установка cookie:
В этом примере функция header() устанавливает cookie с именем «name» и значением «value», а также указывает срок и путь доступа к cookie.
Важно отметить, что функция header() должна быть вызвана до вывода любого другого содержимого на страницу, чтобы гарантировать успешное отправление заголовков.
#вопросы_с_собеседований
👍14🥱7🔥4❤1
Восхождение на Эверест в шлепанцах: путь в PHP в качестве разработчика Python
Описывается опыт решения задачи изучения и реализации PHP для проекта печатающего API с использованием помощника по кодированию на искусственном интеллекте по имени Cody. Задача заключалась в том, чтобы в ограниченные сроки перевести функциональный API из Python в PHP.
Внимание акцентируется на эффективности использования Коди для генерации каркаса кода PHP на основе выбранных сегментов кода Python. Автор хвалит функцию автозаполнения, исправления кода и общую скорость процесса кодирования при использовании Коди. В статье также затрагивается предпочтение автора Коди перед ChatGPT-4 из-за его способности навигации и ответа на вопросы относительно всего кодовой базы, предоставляя контекст и понимание.
Описывается опыт решения задачи изучения и реализации PHP для проекта печатающего API с использованием помощника по кодированию на искусственном интеллекте по имени Cody. Задача заключалась в том, чтобы в ограниченные сроки перевести функциональный API из Python в PHP.
Внимание акцентируется на эффективности использования Коди для генерации каркаса кода PHP на основе выбранных сегментов кода Python. Автор хвалит функцию автозаполнения, исправления кода и общую скорость процесса кодирования при использовании Коди. В статье также затрагивается предпочтение автора Коди перед ChatGPT-4 из-за его способности навигации и ответа на вопросы относительно всего кодовой базы, предоставляя контекст и понимание.
Sourcegraph
Climbing Mount Everest in Flip-flops: My journey into PHP as a Python dev | Sourcegraph Blog
When tasked with creating a printing API in PHP despite having zero experience, Arafat Khan leveraged Cody to transform what felt like an Everest climb into a swift 3 day project that resulted in a fully functioning API.
👍5❤2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤘 Особенности работы в ИТ: информация из первых рук
👨💻 Недавно мы проводили среди вас опрос, а теперь делимся интересными выводами обо всех аспектах работы в ИТ.
📊 Выяснили, с каким стеком можно получать 300к+, что айтишники думают о рекрутерах, насколько они довольны своей зарплатой и ради чего могут сменить работу.
💬 Пишите в комментариях другие темы, о которых вам хотелось бы узнать👇
👨💻 Недавно мы проводили среди вас опрос, а теперь делимся интересными выводами обо всех аспектах работы в ИТ.
📊 Выяснили, с каким стеком можно получать 300к+, что айтишники думают о рекрутерах, насколько они довольны своей зарплатой и ради чего могут сменить работу.
💬 Пишите в комментариях другие темы, о которых вам хотелось бы узнать👇
👍5😁4🥱2❤1
Разборка в Шторме
Многие пишут в PHPStorm, но не всем подходят стандартные настройки IDE. Здесь показано что и как можно поменять
Многие пишут в PHPStorm, но не всем подходят стандартные настройки IDE. Здесь показано что и как можно поменять
Хабр
Разборка в Шторме
PhpStorm — лучшая IDE. Но не все дефолтные настройки могут подходить. Особенно в новом UI. Что и почему можно поменять? Сейчас расскажу. TL;DR Чтобы не было завышенных...
👏7❤2👍2🥱1
Юнит-тесты в Laravel на примере
Рассматривается опыт тестирования программного обеспечения, призывая читателей попробовать его сами, изучив тесты в известных открытых проектах. В фокусе — модульное тестирование FileSystems в Laravel. Обсуждаются особенности теста, использующего PHPUnit и Mockery framework для создания мок-объектов. Подробно описываются ключевые моменты, такие как создание временной директории, инициализация объекта Filesystem, тестирование операций с файлами и директориями, работа с LazyCollection, проверка исключений, добавление макросов, а также другие аспекты. Автор выражает надежду, что материал поможет читателям улучшить навыки в тестировании программного обеспечения.
Рассматривается опыт тестирования программного обеспечения, призывая читателей попробовать его сами, изучив тесты в известных открытых проектах. В фокусе — модульное тестирование FileSystems в Laravel. Обсуждаются особенности теста, использующего PHPUnit и Mockery framework для создания мок-объектов. Подробно описываются ключевые моменты, такие как создание временной директории, инициализация объекта Filesystem, тестирование операций с файлами и директориями, работа с LazyCollection, проверка исключений, добавление макросов, а также другие аспекты. Автор выражает надежду, что материал поможет читателям улучшить навыки в тестировании программного обеспечения.
DEV Community
Unit test in Laravel by example
Testing is fun! Don't take my word for it. You should probably try it yourself. To get familiar with...
👍4❤1🔥1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 👨🏻🏫
Middle PHP-разработчик в КСК ЭКСПЕРТ
Москва. Разработка ПО.
Подробнее
Middle+ PHP backend developer в Чек-Ап Онлайн
Москва. IT платформа управления бизнесом.
Подробнее
PHP / Laravel Developer в KingBoost
Москва. Разработка ПО.
Подробнее
PHP developer в КОМПОТ
Москва. Разработка и поддержка IT-проектов для крупных компаний.
Подробнее
PHP-программист в SVK.Digital
Москва. Разработка цифровых продуктов.
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии недели для Москвы 👨🏻🏫
Middle PHP-разработчик в КСК ЭКСПЕРТ
Москва. Разработка ПО.
Подробнее
Middle+ PHP backend developer в Чек-Ап Онлайн
Москва. IT платформа управления бизнесом.
Подробнее
PHP / Laravel Developer в KingBoost
Москва. Разработка ПО.
Подробнее
PHP developer в КОМПОТ
Москва. Разработка и поддержка IT-проектов для крупных компаний.
Подробнее
PHP-программист в SVK.Digital
Москва. Разработка цифровых продуктов.
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
rit.work
Разработка ИИ-решений
Мы создаём доступные и эффективные ИИ-инструменты, специально разработанные для использования на вашем телефоне.
❤6🤔2👍1
Какие признаки, по вашему мнению, характеризуют слабых разработчиков?
Anonymous Poll
14%
Сбивчивая речь и непоследовательность в изложении мыслей
15%
Злоупотребление жаргонизмами и «гламурная лексика»
10%
Перфекционизм и идеализм
25%
Переусложнение или оверинженеринг
37%
Самоуверенность и «велосипедизм»
40%
«Туннельное зрение» — безусловная приверженность выбранной позиции по какому-либо вопросу
1%
Свой вариант (напишу в комментарии)
31%
Посмотреть результаты
😁7🎉2❤1🔥1