7

I have multiple inheritance like this one: Can I extend a class using more than 1 class in PHP? (let's not discuss this approach itself please) and want my IDE to know about inherited class methods and properties. Is there a way to do it with PhpDoc?

3
  • Is your question more related to PhpDoc or more related to "how displays the appropriate auto-completion inside the editor"? Commented Apr 22, 2010 at 9:58
  • 1
    I don't like to call this trick multiple inheritance, but rather delegation. Commented Apr 22, 2010 at 10:01
  • Savageman, it's about PhpDoc but it's also good to know if there are IDE specific tricks. Commented Apr 23, 2010 at 12:37

3 Answers 3

11

It seems there is currently no way to do it easily. I've created a ticket at PhpStorm issue tracker. Maybe they will add support for this feature.

http://youtrack.jetbrains.net/issue/WI-1730

Sign up to request clarification or add additional context in comments.

2 Comments

And finally they did it :)
This works in PHPStorm simply by using the special phpDoc param @mixin like so: /* @mixin \Another\Class\Or\Namespace */ in the top of the class.
3

The @method anotation should be used for classes implementing __call. On a related note, for __get, __set and __isset, the @property annotations should be used. The only thing I don't know for sure is whether Eclipse PDT supports these annotations. I know NetBeans does.

1 Comment

Thanks, I know I can use these but it's hard to redeclare all "inherited" methods and properties one by one. My hope is that there is some kind of PhpDoc I've missed that can delegate class methods and properties to another class. btw., PhpStorm supports both @property and @method.
-3

there is no support for multiple inheritances at class level. This means you can't extend more than one class at a time. However multiple inheritance is supported in interfaces. An interface can extend an arbitrary number of other interfaces at a time.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.