TGViewer
dev notes dev notes @junsenior · 1.39K subscribers
Post #81 3.56K
​Я выздоровел и продолжаю наводить активность.

Сегодня у нас дайджест интересных материалов и новостей из мира PHP.

1. Небольшая и крутая статья, которая точно не будет лишней (а ещё её можно скидывать ответом на комментарии в твоём PR) - Как писать читаемый PHP-код - https://freek.dev/1593-writer-readable-php-avoid-indentation-by-returning-early

Или почему

public function doSomething($someParameter, $someOtherParameter)
{
if ($someParameter !== 0) {
return;
}

if ($someOtherParameter !== 0) {
return;
}

// do the actual work
}

Гораздо лучше, чем

if ($someParameter !== 0 || $someOtherParameter !== 0)

2. https://github.com/shivammathur/setup-php - надстройка над github actions, специально для PHP. Последнее время много и часто говорят об этом инструменте от github, так что в конце недели у нас на канале выйдет материал по настройке и работе с github actions.

3. Поговаривают, что codeigniter дропнулся с номером 4.0, после 5-ти лет разработки (жалко, что ребята обновили фреймворк, но забыли обновить сайт с web 1.0). Кто писал - что скажете? Стоит рассмотреть? Какие есть плюсы, какие минусы? С кем из передовой троицы (Symfony, Laravel, Yii) его можно сравнить?

4. Занятный, на первый взгляд, инструмент для построения консольных приложений на нативном PHP - https://github.com/minicli/minicli
Удобные контроллеры, поддержка большой работы с аргументами и огромный вывод информации. Как минималистичное решение для небольшого микросервиса, который не требует зависимостей, - вполне может подойти.

5. Laravel обновился до 7-ой версии. Из вкусного, на что стоит обратить внимание:

5.1 https://laravel.com/docs/7.x/airlock - минималистичное решение для аутентификации клиентов посредством токенов. Я, как тот, кто любит разделять backend и клиентов, обязательно рассмотрю, какие плюсы и минусы есть у этой библиотеки и чем работа с ней отличается от аутентификаторов в Symfony.

5.2 Для Eloquent'а появилась возможность писать кастомные get/set-методы, инкапсулирующие логику работы с какой-либо структурой данных. Например, можно написать get/set для Json (где будет json_encode/json_decode), а потом работать с json-типом как с базовым.

5.3 Обновился HTTP-клиент! Ребята сделали обёртку поверх Guzzle, за что им огромное спасибо. Вместо не особо красивых интерпретаций вроде

$this->guzzleClient->request('POST',
'.../url/...',
[
'headers' => $content['headers'],
'json' => [
"paramsNames" => $content['content'],
]
]
);

Можно будет писать красивые:

$response = Http::withHeaders([
'X-First' => 'foo',
'X-Second' => 'bar'
])->post('http://test.com/users', [
'name' => 'Taylor',
]);

Надо будет протестировать и с радостью заюзаю в своих проектах.

6. SymfonyCast (https://symfonycasts.com/screencast/symfony) дропнул плейлист с уроками по Symfony 5. Теперь тебе есть что посмотреть вечером со своей девушкой.
More from @junsenior
  1. Sep 28, 2026Сошлись две вещи. Первая - мой проект safemap.ai, про который я уже писал выше - интеракти…
  2. Sep 17, 2026Post #356
  3. Sep 15, 2026Увидел тут в x.com статистику вакансий по PHP и статистику вакансий по hh.ru в целом. Я на…
  4. Sep 12, 2026Вдохновившись проектом, где делали интерактивную карту с тем, как работает Postgres (писал…
  5. Sep 8, 2026OpenAI выложили блогпост https://openai.com/index/navier-stokes-solution/ Мы публикуем реш…
  6. Sep 8, 2026Если кто не знал, вокруг этого сейчас разгорается очень большой скандал с OpenAI. Кратко,…
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 →