【问题标题】:how to create an alias function in php [closed]如何在php中创建别名函数[关闭]
【发布时间】:2016-10-27 01:09:36
【问题描述】:

您好,我觉得我需要在一个类中使用一些别名函数来实现真正的函数,以表明在类的开头类中有一些函数。 我想做的如下。

class foo {

    public function foo();
    public function boo();
    //alias functions to show there are foo and boo functions somewhere below.

    public function foo(){//real function
        //some code here
    }
    public function boo(){//real function
        //some code here
    }
}

我以前看过这类课程,但现在找不到了。

请帮忙。

【问题讨论】:

  • 为什么?这是为了让你知道这个函数叫什么吗?所以你记得它在那里吗?如果是这样,这就是我们有 cmets 的目的......
  • @junkfoodjunkie 我想这样做的原因是为了让我的下一个开发人员能够轻松地理解这个类。就像在书中看到目录一样。
  • 然后写评论解释类的使用?但是,如果课程那么复杂,您可能会考虑重做整个事情。但是,不要声明函数——这有什么好处,除非告诉某人他们在那里?你仍然需要解释它们为什么在那里——如果没有解释,新的 dec 只会认为它是一个空函数,可能还没有实现。使用 cmets。解释类做什么,以及函数做什么。 #function foo() lets you foo some bars with foo #function boo() lets you boo some foos
  • @junkfoodjunkie 好吧,那么我会尽可能多地为新开发人员发表评论。感谢您的评论。

标签: php function class oop object


【解决方案1】:

您看到的是Interface。他们的目的是创建一个类的映射,以便您知道任何实现它的类都至少具有所需的方法。

interface myInterface(){
    // "alias functions"
    public function foo();
    public function boo();
}

class foo implements myInterface{
    // "real functions"
    public function foo(){}
    public function boo(){}
}

phpDoc 可能更接近您正在寻找的内容。这是大多数 IDE 用于读取和自动完成类中的方法的一种注释语法。例如,在 Netbeans 中,您的 IDE 将提供带有参数的方法描述以及您提供的任何其他信息。这是来自EasyImage源代码的示例:

/**
 * Add perspective to an image
 * @param float $gradient - gradient of perspective
 * @param type $rightdown - angle
 * @return \EasyImage
 */
public function perspective($gradient = 0.85, $rightdown="top"){ ... }

在Netbeans中使用这个函数,显示函数描述和参数:

【讨论】:

  • 虽然这在某些情况下可能有用,但我仍然认为解决 OP 解释的问题的更好方法是记录、注释并实际确保代码是可以理解的。 :)
  • 我在编辑问题时考虑到了您的反馈,@junkfoodjunkie。
  • 非常感谢!界面就是我要找的那个!!!
猜你喜欢
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
  • 2022-10-12
  • 2018-10-19
相关资源
最近更新 更多