在函数中公开函数

时间:2018-03-16 08:43:21

标签: php function class

我需要一些帮助。我正在开发一个更大的php应用程序,并在这个框架中使用不同类型的函数。

但是我对最佳实践是如何在其中创建具有不同功能的功能感到失落,但这些功能在不同的文件中分开以便于分类。

让我展示我想要的东西,我只想调用一个简单的函数,然后在其中公开不同的函数。像这样

$input = app::getInput();
$input->filter('this string');
$input->validate('other string');

但是在不同的文件中有这些不同的功能。 现在我这样做,但我不认为这是最好的做法,我对如何更好地做到这一点感到茫然。

file: app.php
class app {
    public static function getInput {
        return new Input;
    }
}


file: inputFilter.php
abstract class InputFilter {
    public function filter() {
    }
}

file: inputValidate.php
abstract class InputValidate extends InputFilter {
    public function validate() {
    }
}

file: inputHelper.php
class Input extends InputValidate {
    public function someorhterfunction(){
    }
}

这将公开上面示例中使用的函数,但是如何生成相同的结果,但是每次我想为输入提供新函数时都不必扩展类?

希望这是有道理的......

编辑:好的一点缺失,原因是我希望能够扩展InputValidateInputFilter更多的功能。

1 个答案:

答案 0 :(得分:0)

只需制作一个大班Input

class Input {
    public function filter($param) {}
    public function validate($param) {}
    public function someotherfunction() {}
}

只要您不想,您将有其他课程延长InputValidateInputFilter,那就没有问题。