PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 有没有办法表明一个类是否为另一个类的每个方法定义了魔术方法?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法记录某个类对另一个类中定义的每个方法都有魔术方法

我正在使用PHPStorm,所以我会对任何可以自动完成正常工作的解决方案感到满意.

class A
{
    // a bunch of functions go here...
}

/**
 * Class B
 * what should go here to make it work???
 */
class B
{
    private $aInstance;

public function __construct() {
    $this->aInstance = new A();
}

public function __call($name,$arguments) {
    // TODO: Implement __call() method.
    if(method_exists($this->aInstance,$Name)) {
        return $this->aInstance->{$namE}(...$arguments);
    }
    throw new BadMethodCallException();
}

    // a bunch more functions go here...
}@H_673_4@
正确的解决方案是使用支持@method PHPDoc标记.这样它也可以在支持PHPDoc的其他编辑器/ IDE中使用并理解这种标准标记.

这种方法需要单独列出每种方法.更多关于此问题的另一个StackOverflow问题/答案:https://stackoverflow.com/a/15634488/783119.

在当前的PHPStorm版本中,您可以使用非PHPDoc规范(因此可能使用PHPStorm特定的)@mixin标记.

在目标类的PHPDoc注释中添加@mixing className应该为您完成工作.

/**
 * Class B
 * 
 * @mixin A
 */
class B
{@H_673_4@ 
 

基本上,@ mixin标签可以实现PHP的实际特性.

请注意,不能保证在将来的某个时候不会删除对此标记支持,尽管这种可能性不大.

大佬总结

以上是大佬教程为你收集整理的php – 有没有办法表明一个类是否为另一个类的每个方法定义了魔术方法?全部内容,希望文章能够帮你解决php – 有没有办法表明一个类是否为另一个类的每个方法定义了魔术方法?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。