#phpdoc — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #phpdoc, aggregated by home.social.
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
@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.
-
@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.
-
@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.
-
@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.
-
@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
-
@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
-
@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
-
@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
-
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
-
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
-
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
-
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
-
a #cheatsheet for #PHPStan #Psalm #PHPDoc would be neat. similar as this one for #TypeScript
-
a #cheatsheet for #PHPStan #Psalm #PHPDoc would be neat. similar as this one for #TypeScript
-
a #cheatsheet for #PHPStan #Psalm #PHPDoc would be neat. similar as this one for #TypeScript
-
a #cheatsheet for #PHPStan #Psalm #PHPDoc would be neat. similar as this one for #TypeScript
-
a #cheatsheet for #PHPStan #Psalm #PHPDoc would be neat. similar as this one for #TypeScript
-
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 -
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 -
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 -
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 -
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 -
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.
-
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.
-
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.
-
Записки разработчика: как подружить D7 свойства и IDE
Приветствую всех неравнодушных! В статье я расскажу, как мы смогли подружить сложные D7 свойства инфоблоков с нашей IDE. Есть в одном проекте такая волшебная штука, как подборы. В них столько свойств, что обычный getList() по 30 записям съедает 6 Гб оперативной памяти, а для оптимизации этого монстра приходится использовать ядро D7. Что же может нам рассказать интернет о том, как правильно обращаться к свойствам инфоблоков, чтобы проект не "ушел отдыхать", обидевшись на всех? 1. Изучим концепцию Нам, как во многих фреймворках, предлагают описать нашу сущность, создать модель и по ней уже баловаться, как пожелаем. Но в нашей сущности получается 570 полей. Одно описание этих полей займет о-о-ой как много времени — не наш вариант.
-
Записки разработчика: как подружить D7 свойства и IDE
Приветствую всех неравнодушных! В статье я расскажу, как мы смогли подружить сложные D7 свойства инфоблоков с нашей IDE. Есть в одном проекте такая волшебная штука, как подборы. В них столько свойств, что обычный getList() по 30 записям съедает 6 Гб оперативной памяти, а для оптимизации этого монстра приходится использовать ядро D7. Что же может нам рассказать интернет о том, как правильно обращаться к свойствам инфоблоков, чтобы проект не "ушел отдыхать", обидевшись на всех? 1. Изучим концепцию Нам, как во многих фреймворках, предлагают описать нашу сущность, создать модель и по ней уже баловаться, как пожелаем. Но в нашей сущности получается 570 полей. Одно описание этих полей займет о-о-ой как много времени — не наш вариант.
-
Записки разработчика: как подружить D7 свойства и IDE
Приветствую всех неравнодушных! В статье я расскажу, как мы смогли подружить сложные D7 свойства инфоблоков с нашей IDE. Есть в одном проекте такая волшебная штука, как подборы. В них столько свойств, что обычный getList() по 30 записям съедает 6 Гб оперативной памяти, а для оптимизации этого монстра приходится использовать ядро D7. Что же может нам рассказать интернет о том, как правильно обращаться к свойствам инфоблоков, чтобы проект не "ушел отдыхать", обидевшись на всех? 1. Изучим концепцию Нам, как во многих фреймворках, предлагают описать нашу сущность, создать модель и по ней уже баловаться, как пожелаем. Но в нашей сущности получается 570 полей. Одно описание этих полей займет о-о-ой как много времени — не наш вариант.
-
Записки разработчика: как подружить D7 свойства и IDE
Приветствую всех неравнодушных! В статье я расскажу, как мы смогли подружить сложные D7 свойства инфоблоков с нашей IDE. Есть в одном проекте такая волшебная штука, как подборы. В них столько свойств, что обычный getList() по 30 записям съедает 6 Гб оперативной памяти, а для оптимизации этого монстра приходится использовать ядро D7. Что же может нам рассказать интернет о том, как правильно обращаться к свойствам инфоблоков, чтобы проект не "ушел отдыхать", обидевшись на всех? 1. Изучим концепцию Нам, как во многих фреймворках, предлагают описать нашу сущность, создать модель и по ней уже баловаться, как пожелаем. Но в нашей сущности получается 570 полей. Одно описание этих полей займет о-о-ой как много времени — не наш вариант.
-
🚀 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 SupportIntroduces the list type for arrays with sequential integer keys starting at 0.
Enhances #TypeSafety and clarity when working with lists in #PHP.
⚡ Lower Memory ConsumptionOptimizations 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 CleanupLess 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: 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 SupportIntroduces the list type for arrays with sequential integer keys starting at 0.
Enhances #TypeSafety and clarity when working with lists in #PHP.
⚡ Lower Memory ConsumptionOptimizations 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 CleanupLess 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: 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 SupportIntroduces the list type for arrays with sequential integer keys starting at 0.
Enhances #TypeSafety and clarity when working with lists in #PHP.
⚡ Lower Memory ConsumptionOptimizations 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 CleanupLess 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: 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 SupportIntroduces the list type for arrays with sequential integer keys starting at 0.
Enhances #TypeSafety and clarity when working with lists in #PHP.
⚡ Lower Memory ConsumptionOptimizations 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 CleanupLess 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: 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 SupportIntroduces the list type for arrays with sequential integer keys starting at 0.
Enhances #TypeSafety and clarity when working with lists in #PHP.
⚡ Lower Memory ConsumptionOptimizations 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 CleanupLess 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