-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inline @var syntax #73
Comments
@kokx now <?php
use My\Job;
/* @var $job Job */
$job = $sm->get(Job::class);
$job->... // type of $job is Job here |
Thanks for the comment @mkusher. Unfortunately however, I cannot reproduce that. Even after a re-index and restart of padawan.php it doesn't work. It still tells me that |
Shouldn't it be |
oh, @pbogut is right :) |
@pbogut That gives a little different result. It now assigns the current namespace (without class) to the variable. See this screenshot:
Using Still, I think it is a good idea to implement the same syntax as NetBeans and PhpStorm, for teams in which different editors are used (such as my team). |
@kokx now padawan partially supports doc-comments, which are using double asterisk(and phpstorm understands this syntax too). |
@mkusher Yeah, I completely get that. I'm just saying that it would be a nice feature to have (imo not top priority). Since a lot of code bases already use that syntax. |
will implement in #80, @kokx @pbogut please checkout my development branch to test the feature. // Eclipse's approach of type hint
/** @var $inst Class */
$inst = new $className();
// phpdoc-like approach
for ($items as $item) {
/** @var Class $item */
}
// also works in closure
array_map($array, function($a, $b) {
/** @var Class $a */
/** @var Class $b */
// or maybe in block ( not available now)
/**
* @var Class $a
* @var Class $b
**/
}); |
Implement inline
@var
syntax.Sometimes, you know for a fact that some function returns a certain type. However, type hinting won't work because the function is too generic for that. For example, with the ZF2 ServiceManager:
In this case, it would be great to have autocompletion for
$job
as well. However, padawan.php just marks it as a genericobject
.This syntax has been implemented by many IDE's, for example NetBeans.
The text was updated successfully, but these errors were encountered: