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, ranking #1264 of 2,501 tracked listings.
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
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Ratings over time
Listing placement
Listing placement
Listing placement
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.
Each band is one page of 20. Downloads on a linear scale. Placement is projected from downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (4)Similar JetBrains Marketplace Code Editing plugins
All 20 DynamicReturnTypePlugin alternativesData 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 19, 2026. See the methodology.