DynamicReturnTypePlugin downloads statistics
By patrick byrne · JetBrains Marketplace · Code Editing
Intellij/Phpstorm PHP plugin to allow a dynamic return type from ALL method/function calls, not just static methods. It can use either the instance type of the passed...
DynamicReturnTypePlugin has 52,443 recorded downloads on JetBrains Marketplace.
It ranks #1264 of 2,500 tracked JetBrains Marketplace listings by downloads.
It is rated 4.2 out of 5 from 6 ratings.
PluginStats has 3 daily observations since Oct 16, 2026; the latest is from Oct 18, 2026.
Rating: 4.17 / 5 from 6 ratings
About DynamicReturnTypePlugin
Intellij/Phpstorm PHP plugin to allow a dynamic return type from ALL method/function calls, not just static methods.
It can use either the instance type of the passed parameter, string lookup or ::class. It can also use masking and custom javascript callbacks to massage the return type to enable aliasing.
Internal signature resolution has been completely reworked to allow better chaining/stability of results. It should also play nicely with other plugin service providers etc. It can be configured for :
• Instance method calls • Static method calls • Function calls
Full documentation with examples on github page for custom manipulation with rhino javascript versus the old mask methodology can be found here :-
https://github.com/pbyrne84/DynamicReturnTypePlugin
Demo environment which is used to verify edge case are catered for ( example dynamicReturnTypeMeta.json etc. ) can be found here :-
https://github.com/pbyrne84/DynamicReturnTypePluginTestEnvironment
Accepts the following to calculate return type
• Parameter object instance( eg. new \DOMDocument() as a parameter instance value will infer a DOMDocument will be returned )
• Parameter string type ( eg. '\DOMDocument' as a parameter string value will infer a DOMDocument will be returned )
• Class constants that resolve to __CLASS__ will resolve similar to the ::class feature in 5.5 behaves.
Configuration Example dynamicReturnTypeMeta.json configuration in project root
{
"methodCalls": [
{
"class": "\\Phockito",
"method": "mock",
"position": 0
},
{
"class": "\\Phockito",
"method": "verify",
"position": 0
},
{
"class": "\\Phockito",
"method": "maskExample",
"position": 0
"mask": "Test%sModel"
}
],
"functionCalls": [
{
"function": "\\verify",
"position": 0
},
{
"function": "\\mock",
"position": 0
},
{
"function": "\\maskExample",
"position": 0
"mask": "Test%sModel"
}
]
}
Position is the parameter index to infer the return type from.
Classes and function names must be fully qualified with a leading \ as per example.
Static method calls should behave the same as instance calls.
Description from the JetBrains Marketplace listing.
- Code Editing
- PHP
Where DynamicReturnTypePlugin sits in the listing
Each band is one page of 20. Downloads on a log scale. Placement is projected from downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (3)Similar JetBrains Marketplace Code Editing plugins
Data source
Cumulative download counts come from the public JetBrains Marketplace API. JetBrains reports downloads, not active installs. Ratings are the mean of public votes.
Listing: https://plugins.jetbrains.com/plugin/7251-dynamicreturntypeplugin. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.