#release
PHP 8.1 уже можно потрогать в альфа версии.
https://www.php.net/archive/2021.php#2021-07-08-1
PHP 8.1 уже можно потрогать в альфа версии.
https://www.php.net/archive/2021.php#2021-07-08-1
#advanced #release
Сегодня, кстати, состоялся первый «community» релиз псалма без его автора, Мэтта Брауна, который ранее решил, что на этом все, пора уходить в Rust.
https://github.com/vimeo/psalm/releases/tag/4.9.0
Сегодня, кстати, состоялся первый «community» релиз псалма без его автора, Мэтта Брауна, который ранее решил, что на этом все, пора уходить в Rust.
https://github.com/vimeo/psalm/releases/tag/4.9.0
Medium
My incredible journey with PHP
Before I joined Vimeo in 2014 my PHP code had not been scrutinised by other humans, and it was an enlightening experience. I discovered I…
#release #postgres
Совсем недавно состоялся релиз PostgreSQL 14.
https://www.postgresql.org/docs/14/release-14.html
Совсем недавно состоялся релиз PostgreSQL 14.
https://www.postgresql.org/docs/14/release-14.html
PostgreSQL Documentation
E.24. Release 14
E.24. Release 14 E.24.1. Overview E.24.2. Migration to Version 14 E.24.3. Changes E.24.4. Acknowledgments Release date: 2021-09-30 E.24.1. Overview PostgreSQL 14 contains many …
#php81 #release
Этот день настал. Вышел релиз php 8.1. Обзор новых фич по ссылке и на нашем канале в ближайшие дни.
https://www.php.net/archive/2021.php#2021-11-25-1
Этот день настал. Вышел релиз php 8.1. Обзор новых фич по ссылке и на нашем канале в ближайшие дни.
https://www.php.net/archive/2021.php#2021-11-25-1
#release #phpstorm
Вышло обновление PHPStorm с поддержкой php 8.1 и многими другими возможностями.
https://www.jetbrains.com/phpstorm/whatsnew/2021-3/
Вышло обновление PHPStorm с поддержкой php 8.1 и многими другими возможностями.
https://www.jetbrains.com/phpstorm/whatsnew/2021-3/
JetBrains
What’s New in PhpStorm 2021.3
PhpStorm 2021.3 is a major update to the IDE that introduces support for the recently released PHP 8.1, better handling of generics in PHP, enhancements for deployment, HTTP clients, and VCS integration, new inspections and refactorings, and many other enhancements.
#release #laravel
Вышла 9-я версия Laravel. Со всеми новшествами мажорной версии, как всегда, можно познакомиться в release notes.
Вышла 9-я версия Laravel. Со всеми новшествами мажорной версии, как всегда, можно познакомиться в release notes.
Laravel
Release Notes | Laravel 13.x - The clean stack for Artisans and agents
Laravel is a PHP web application framework with expressive, elegant syntax. We've already laid the foundation — freeing you to create without sweating the small things.
👍24💩13🎉3
🧪 Тестирование Symfony-конфигов
Библиотека matthiasnoback/symfony-config-test предоставляет PHPUnit-трейт с готовыми ассертами для проверки дерева конфигурации. Она позволяет убедиться, что конфиги ведут себя корректно при невалидных данных, мёрже и дефолтах:
Через параметр breadcrumbPath можно тестировать отдельную ветку дерева (например, doctrine.orm), игнорируя остальные required-ноды. Версия 6.x поддерживает PHPUnit 10–12.
Репозиторий на GitHub
Библиотека пхпшника
#release_radar
Библиотека matthiasnoback/symfony-config-test предоставляет PHPUnit-трейт с готовыми ассертами для проверки дерева конфигурации. Она позволяет убедиться, что конфиги ведут себя корректно при невалидных данных, мёрже и дефолтах:
class ConfigurationTest extends TestCase
{
use ConfigurationTestCaseTrait;
protected function getConfiguration(): Configuration
{
return new Configuration();
}
public function test_invalid(): void
{
$this->assertConfigurationIsInvalid(
[[]], // пустой массив
'required_value'
);
}
public function test_processed(): void
{
$this->assertProcessedConfigurationEquals(
[['key' => 'first'], ['key' => 'last']],
['key' => 'last']
);
}
}
Через параметр breadcrumbPath можно тестировать отдельную ветку дерева (например, doctrine.orm), игнорируя остальные required-ноды. Версия 6.x поддерживает PHPUnit 10–12.
Репозиторий на GitHub
Библиотека пхпшника
#release_radar
👍2🔥1
🚀 Laravel 13.6.0: дебаунс для очередей из коробки
Частое сохранение документа плодит в очереди дублирующиеся задачи переиндексации. Раньше спасал интерфейс ShouldBeUnique, который блокирует диспатчи на входе. Теперь добавлен полноценный debounce — выполняется только последняя задача.
Достаточно повесить атрибут на класс, и все дубли в заданном временном окне схлопываются на этапе выполнения:
Запустить дебаунс можно и без правки класса: dispatch(new SyncData($id))->debounceFor(30).
Другие обновления релиза:
— роут /up отдает JSON по заголовку Accept (полезно для балансировщиков);
— добавлен JsonFormatter для структурных логов;
— появился транспорт Cloudflare Email.
🔗 Читать подробнее
Библиотека пхпшника
#release_radar
Частое сохранение документа плодит в очереди дублирующиеся задачи переиндексации. Раньше спасал интерфейс ShouldBeUnique, который блокирует диспатчи на входе. Теперь добавлен полноценный debounce — выполняется только последняя задача.
Достаточно повесить атрибут на класс, и все дубли в заданном временном окне схлопываются на этапе выполнения:
#[DebounceFor(30, maxWait: 120)]
class RebuildSearchIndex implements ShouldQueue
{
public function __construct(public int $documentId) {}
public function debounceId(): string
{
return (string) $this->documentId;
}
public function handle(): void
{
SearchIndex::rebuild($this->documentId);
}
}
Запустить дебаунс можно и без правки класса: dispatch(new SyncData($id))->debounceFor(30).
Другие обновления релиза:
— роут /up отдает JSON по заголовку Accept (полезно для балансировщиков);
— добавлен JsonFormatter для структурных логов;
— появился транспорт Cloudflare Email.
Библиотека пхпшника
#release_radar
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥1👏1