The other night I made this little #PHP tool that validates #PHPDoc annotations against the actual method signature, to make sure that they are compatible and don't drift apart over time.

I use it as a quick check before running #PHPStan to make sure that the static analysis is correctly informed. Published it on #Packagist in case anyone else would find it useful too: https://packagist.org/packages/nsrosenqvist/phpdoc-validator

nsrosenqvist/phpdoc-validator - Packagist.org

Validates PHPDoc @param and @return tags against method signatures

Thanks to @dereuromark, phpDocumentor Guides now has support for #djot 🎉

Djot is an improved and more precisely specified alternative to Markdown, designed to remove ambiguities and edge. It offers clearer rules, better nesting, and more consistent parsing, which makes it especially well-suited for technical documentation.

Learn more about djot: https://djot.net

https://github.com/phpDocumentor/guides-djot

#php #documentation #phpdoc

djot

@chriskirknielsen Quick idea : as #JSDoc seems highly similar to #PHPDoc and the original #Javadoc , you might have some luck with tools written for any of those as well.

@voku The Week in Review, Edition 90 (2025-18)

Topics:

🚵‍♂️ Gravel tour to the highest “mountain” in the area

🗺️ Extract extensive data from OpenStreetMap that isn't visible on the map

🖥️ The PHPDoc Guide (2025 Edition)

🗺️ The better-osm-org userscript for deep dives into the OpenStreetMap database

🔦 Prepare for emergencies – useful lists from the Federal Office of Civil Protection and Disaster Assistance

🔊 Listened to this week: Friction, Charlie Tee, Stahler

#Weekly #Gravel #OpenStreetMap #Bikerouter #Golmberg #Brandenburg #Psalm #phpstan #PHPDoc #BetterOSM #Apple #iMessage #Emergency #Stockpile #Obsidian #Techno

https://www.marcusjaschen.de/en/blog/2025/2025-18/

The Week in Review – 2025-18

🚵‍♂️ Gravel tour to the highest “mountain” in the area 🗺️ Extract extensive data from OpenStreetMap that isn’t visible on the map 🖥️ The PHPDoc Guide (2025 Edition) 🗺️ The better-osm-org userscript for deep dives into the OpenStreetMap database 🔦 Prepare for emergencies – useful lists from the Federal Office of Civil Protection and Disaster Assistance 🔊 Listened to this week: Friction, Charlie Tee, Stahler

Marcus Jaschen

Wochenrückblick, Ausgabe 90 (2025-18)

Themen:

🚵‍♂️ Graveltour zum höchsten Berg in der Umgebung

🗺️ OpenStreetMap umfangreiche Daten entlocken, die auf der Karte nicht zu sehen sind

🖥️ The PHPDoc Guide (2025 Edition) von @voku

🗺️ Das better-osm-org Userscript für Deep Dives in die OpenStreetMap-Datenbank

🔦 Für den Notfall vorsorgen – nützliche Listen vom Bundesamt für Bevölkerungsschutz und Katastrophenhilfe

🔊 In dieser Woche gehört: Friction, Charlie Tee, Stahler

#Wochenrückblick #Gravel #OpenStreetMap #Bikerouter #Golmberg #Brandenburg #Psalm #phpstan #PHPDoc #BetterOSM #Apple #iMessage #Notfall #Vorrat #Obsidian #Techno

https://www.marcusjaschen.de/blog/2025/2025-18/

Rückblick Kalenderwoche 2025-18

🚵‍♂️ Graveltour zum höchsten Berg in der Umgebung 🗺️ OpenStreetMap umfangreiche Daten entlocken, die auf der Karte nicht zu sehen sind 🖥️ The PHPDoc Guide (2025 Edition) 🗺️ Das better-osm-org Userscript für Deep Dives in die OpenStreetMap-Datenbank 🔦 Für den Notfall vorsorgen – nützliche Listen vom Bundesamt für Bevölkerungsschutz und Katastrophenhilfe 🔊 In dieser Woche gehört: Friction, Charlie Tee, Stahler

Marcus Jaschen
Jason Davis (@[email protected])

Neat, #TypeScript Cheat Sheets https://www.typescriptlang.org/cheatsheets/

Jason Davis.net

Sitting in PhpStorm and trying to get type hinting to work for calling generic functions.
I assume `$result` should get the type `T` and `$x` should be parsed as `int`, but the editor gives me no hint at all.
Is this even supposed to work?
```
/**
* @template T
* @param callable(): T $fun
* @return T
*/
function call(callable $fun) {
$result = $fun();
return $result;
}

$x = call(fn() => 1);
```
https://phpstan.org/r/76b4d50f-dd91-4e39-993a-458b26c321cf
#php #phpStorm #generics #phpDoc

Playground

Feb 18 08:36:18 lukas: Dear Logbook, I have to write phpdoc's again in 2025 because the PHP LSP market has only intelephense as the only real LS to offer and it is as powerful as my 90 year old grandma. Not even PHP has its own LS. Sad. Here's to a new day of phpdoc's! Logbook over.

#PHP #PHPDoc #LSP #LanguageServer #nvim

Записки разработчика: как подружить D7 свойства и IDE

Приветствую всех неравнодушных! В статье я расскажу, как мы смогли подружить сложные D7 свойства инфоблоков с нашей IDE. Есть в одном проекте такая волшебная штука, как подборы. В них столько свойств, что обычный getList() по 30 записям съедает 6 Гб оперативной памяти, а для оптимизации этого монстра приходится использовать ядро D7. Что же может нам рассказать интернет о том, как правильно обращаться к свойствам инфоблоков, чтобы проект не "ушел отдыхать", обидевшись на всех? 1. Изучим концепцию Нам, как во многих фреймворках, предлагают описать нашу сущность, создать модель и по ней уже баловаться, как пожелаем. Но в нашей сущности получается 570 полей. Одно описание этих полей займет о-о-ой как много времени — не наш вариант.

https://habr.com/ru/articles/865982/

#bitrix #d7 #properties #ide #phpdoc

Записки разработчика: как подружить D7 свойства и IDE

Приветствую всех неравнодушных! В статье я расскажу, как мы смогли подружить сложные D7 свойства инфоблоков с нашей IDE.  Есть в одном проекте такая волшебная штука, как подборы. В них столько...

Хабр

🚀 PHPStan 2.0 Released: Enhanced Analysis and New Features 🐘

After three years of development, #PHPStan 2.0 is now available, introducing over 180 improvements to #StaticAnalysis for #PHP developers.

Highlights:

🔟 Level 10 Analysis

Provides stricter checks by treating all mixed types strictly.
Helps catch more potential issues in your #Codebase by enforcing stricter #TypeSafety.
📋 List Type Support

Introduces the list type for arrays with sequential integer keys starting at 0.
Enhances #TypeSafety and clarity when working with lists in #PHP.
⚡ Lower Memory Consumption

Optimizations reduce memory usage by 50–70%.
Leads to faster #Performance and less strain on your system during analysis.
✅ Validation of Inline @var Tags

#PHPStan now validates inline @var #PHPDoc tags against the native type of the assigned expression.
Helps maintain accurate type annotations and catch inconsistencies, improving #CodeQuality.
🧹 Reduced Caching and Disk Space Cleanup

Less reliance on caching without sacrificing performance.
Frees up disk space by cleaning up old cache items, aiding in #DiskSpaceManagement.
For a detailed list of changes and a step-by-step upgrade guide, read the full release notes.

Read more: https://phpstan.org/blog/phpstan-2-0-released-level-10-elephpants

PHPStan 2.0 Released With Level 10 and Elephpants!