LinkedIn: На этой неделе вы появились в 367 поисковых запросах
Я: Так где же моя работа?
📱 @dev_notes_ru
#joke
Я: Так где же моя работа?
#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
:w сохраняет файл в Vim. Но знаете ли вы? В Нормальном режиме нажатие ZZ (Shift + zz) делает то же самое, а ZQ (Shift + zq) завершает работу без сохранения. Готов поспорить, вы этого не знали, по крайней мере, я не знал.
#vim #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1😡1
Новые методы массивов в PHP 8.5:
Разбираем новые функции массива `array_first()` и `array_last()` в PHP 8.5: синтаксис, примеры использования и сравнение с `reset()` и `end()`. Узнайте, как упростить работу с массивами.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #Array #tips
array_first() и array_last()Разбираем новые функции массива `array_first()` и `array_last()` в PHP 8.5: синтаксис, примеры использования и сравнение с `reset()` и `end()`. Узнайте, как упростить работу с массивами.
#PHP #Array #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP 8.5: Новые возможности и изменения
PHP 8.5 — это активная ветвь разработки, в которую в настоящее время добавляются новые функции, основные изменения и новые RFC. Релиз выйдет 20 ноября 2025 год.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP85 #features
PHP 8.5 — это активная ветвь разработки, в которую в настоящее время добавляются новые функции, основные изменения и новые RFC. Релиз выйдет 20 ноября 2025 год.
#PHP #PHP85 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP 8.5: Новые функции массивов
В PHP 8.5 добавлены две новые функции получения первого и последнего значений массива. Эти функции дополняют функции
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP85 #features
array_first() и array_last()В PHP 8.5 добавлены две новые функции получения первого и последнего значений массива. Эти функции дополняют функции
array_key_first и array_key_last, добавленные в PHP 7.3.#PHP #PHP85 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
У вас есть связь, в которой нужна только самая последняя или самая старая связанная модель?
Используйте
🖥 Ссылка на документацию
📱 @dev_notes_ru
#Laravel #tips
Используйте
latestOfMany() или oldestOfMany() с hasOne(), для доступа только к одной записи, без сложных подзапросов.#Laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
this в JavaScript: Когда определяется thisКлючевое слово
this в JavaScript ставит в тупик всех разработчиков — от джунов до сеньоров. В первой из двух частей углубимся в основы, необходимые для лучшего понимания this и того, как он работает.#JavaScript #this
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Arr`Anthony Tibbs создал типизированные хелперы геттеров класса поддержки
Arr для array, boolean, float, integer и string. Каждый метод попытается вернуть тип и выбросит исключение, если данные не соответствуют типу:use Illuminate\Support\Arr;
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];
$value = Arr::array($array, 'languages'); // ['PHP', 'Ruby']
$value = Arr::array($array, 'name'); // throws InvalidArgumentException
#Laravel12 #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Преобразование значений в строки в JavaScriptРуководство по преобразованию значений в строки в JavaScript: сравнение 5 методов, работа с объектами и
JSON.stringify(), практические примеры и лучшие практики.Преобразование значений в строки в JavaScript сложнее, чем кажется:
- В большинстве подходов есть значения, которые они не могут обработать.
- Мы не всегда видим все данные.
#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
createdAt` и `delay`Taylor Otwell внес вклад в добавление информации о создании и задержке задания в полезную нагрузку задания.
delay - опциональная задержка задания в секундах, а createdAt - timestamp момента создания полезной нагрузки:$job->payload();
/*
Теперь включает: ['delay' => 5, 'createdAt' => 1745965273]
*/
#Laravel12 #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
useEffect запускается первым?Это не особенно очевидно, но дочерний
useEffect будет выполняться раньше родительского. Давайте разберемся, почему.useEffect — один из наиболее часто используемых хуков в сообществе React. Независимо от того, сколько у вас опыта работы с React, вы наверняка его уже использовали.Но приходилось ли сталкиваться с ситуациями, когда хуки
useEffect запускаются в неожиданном порядке, если задействовано несколько слоев компонентов?#React #useEffect
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
Tim MacDonald добавил контракт
Illuminate\Contracts\Queue\Job в класс FakeJob, используемый в тестах для имитации заданий в очереди:Имитация задания используется в тех местах, где ожидается реализация контракта задания.
Это гарантирует, что фейковое задание поддерживает строгую типизацию контракта задания, например, при прослушивании событий и передаче экземпляра задания.
#Laravel12 #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Конвейеры позволяют разделить большую задачу на более мелкие и управляемые. Иногда требуется использовать один и тот же конвейер в разных местах, и оказалось, что Laravel позволяет определять многоразовые конвейеры из коробки
#Laravel #Pipeline #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Error.isError(): Лучший способ проверки типов ошибки в JavaScriptРуководство по новому методу `Error.isError()` в JavaScript: почему он лучше `instanceof`, как решает проблемы кросс-контекстных ошибок и типизации в TypeScript.
Система обработки ошибок JavaScript долгое время оставалась слепым пятном при работе с ошибками в разных контекстах исполнения. Новый метод
Error.isError() устраняет это ограничение, предоставляя разработчикам более надёжный способ идентификации объектов ошибок.#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Laravel Enum: Чистый, структурированный и удобный для разработчиков
Теперь Laravel поддерживает нативные классы
🔧 Создание Enum через Artisan:
📁 Создастся файл:
📦 Пример класса Enum:
✅ Как использовать:
📌 Приведение типов в модели:
📌 Работа с Enum:
📌 Генерация
📌 Валидация ввода:
📌 Laravel Enums делают код чище, улучшают его читаемость и уменьшают количество ошибок, связанных с недопустимыми значениями. Используйте
📱 @dev_notes_ru
#Laravel
Теперь Laravel поддерживает нативные классы
Enum со встроенными функциями кастинга, меток и генерации через Artisan. Это отличный способ избавиться от "магических" строк и чисел в моделях и формах.🔧 Создание Enum через Artisan:
php artisan make:enum UserRole
📁 Создастся файл:
app/Enums/UserRole.php📦 Пример класса Enum:
namespace App\Enums;
enum UserRole: string
{
case Admin = 'admin';
case Manager = 'manager';
case Customer = 'customer';
public function label(): string
{
return match($this) {
self::Admin => 'Администратор',
self::Manager => 'Менеджер',
self::Customer => 'Клиент',
};
}
public static function options(): array
{
return array_map(
fn($role) => ['value' => $role->value, 'label' => $role->label()],
self::cases()
);
}
}
✅ Как использовать:
📌 Приведение типов в модели:
protected $casts = [
'role' => UserRole::class,
];
📌 Работа с Enum:
$user->role = UserRole::Admin;
echo $user->role->label(); // "Администратор"
📌 Генерация
<select> (Blade или Livewire):<select name="role">
@foreach (App\Enums\UserRole::options() as $option)
<option value="{{ $option['value'] }}">{{ $option['label'] }}</option>
@endforeach
</select>
📌 Валидация ввода:
'role' => ['required', new Enum(UserRole::class)],
📌 Laravel Enums делают код чище, улучшают его читаемость и уменьшают количество ошибок, связанных с недопустимыми значениями. Используйте
make:enum, для быстрого создания, и расширяйте функциональность по мере необходимости.#Laravel
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤣1
Что такое this в JavaScriptВо второй части серии Mat Marquis объясняет, что такое
this на самом деле, и помогает разобраться, чему он соответствует, исходя из различных контекстов.#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Laravel 12.6: Новый метод `
Laravel 12.6 представляет метод
🔧 Как это работало раньше:
✅ Теперь с `
Нужны кастомные заголовки? Просто передайте их:
✨ Почему это удобно:
- Меньше шаблонного кода в тестах
- Лучшая читаемость и понятность
- Упрощает поддержку и рефакторинг
📌 Метод
📱 @dev_notes_ru
#Laravel #Laravel12
requestException()` для удобной обработки ошибок HTTP-тестовLaravel 12.6 представляет метод
requestException() — более простой способ создания экземпляров RequestException при тестировании работы HTTP-клиента. Теперь можно эмулировать ошибочные ответы сервера чище и лаконичнее.🔧 Как это работало раньше:
use Illuminate\Http\Client\RequestException;
use Illuminate\Http\Client\Response;
$exception = new RequestException(
new Response(
Http::response(['error' => 'invalid_token'], 401)
)
);
✅ Теперь с `
requestException()`:use Illuminate\Support\Facades\Http;
$exception = Http::requestException(['error' => 'invalid_token'], 401);
Нужны кастомные заголовки? Просто передайте их:
$exception = Http::requestException(
['message' => 'Too many requests'],
429,
['X-RateLimit-Reset' => '30']
);
✨ Почему это удобно:
- Меньше шаблонного кода в тестах
- Лучшая читаемость и понятность
- Упрощает поддержку и рефакторинг
📌 Метод
requestException() делает HTTP-тесты чище, быстрее и выразительнее.#Laravel #Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
Cache::memo()` и зачем он нуженКак использовать мемоизацию кэша в Laravel для повышения производительности и сокращения сетевых обращений к Redis, Memcached и другим хранилищам.
Даже если вы используете кэш, Laravel каждый раз обращается к внешнему хранилищу. Это может быть Redis или Memcached — и каждый такой запрос может занимать лишние миллисекунды. В больших приложениях это превращается в серьёзную нагрузку.
#Laravel #Cache
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1