TGViewer
dev notes dev notes @junsenior · 1.39K subscribers
Post #153 1.93K

Forwarded from PHP Digest

Приведение типов в PHP во многих случаях работает по принципу «лучше хоть как-то, чем никак».

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

debug=_0 // .env
(bool) getenv('debug'); // true!

Чтобы избавиться от таких проблем, можно взять filter_var с его флагами и бросать свой Exception.

Или можно взять обертку над значениями zakirullin/mess:

(new Mess(getenv('debug')))->getAsBool();
// _0 => UncastableValueException

В Mess можно скармливать массивы/примитивы:

$mess = new Mess($apiResponse);
$profile = new Profile(
$mess['profile']['name']->getString(),
$mess['votes']->getInt(),
$mess['is_deleted']->getBool()
)
// Dealing with typed ValueObject
GitHub GitHub - zakirullin/mess: Make your PHP arrays sweet'n'safe Make your PHP arrays sweet'n'safe. Contribute to zakirullin/mess development by creating an account on GitHub.
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 →