在php类中有很多方法是正常的吗?

时间:2014-09-13 13:44:53

标签: php methods

我正在使用php类进行表单验证,验证了不同的内容,例如空,长度等。

以下是我的几种方法。正如标题所说,在课堂上拥有一堆方法是正常的吗? 只需回答是或否就足够了。

//Checks if is username empty
        function validate_empty_username(){
            if($this->empty_username){
                echo "<li>Please fill username field</li>";
                return false;
            }
        }

        //Checks if is password empty
        function validate_empty_password(){
            if($this->empty_password){
                echo "<li>Please fill password field</li>";
                return false;
            }
        }

        //Checks if is email empty
        function validate_empty_email(){
            if($this->empty_email){
                echo "<li>Please fill email field</li>";
                return false;
            }
        }

        //Check username length is short
        function validate_username_length_min(){
            if($this->get_username_length < 3){
                echo "<li>Username provided's too short!</li>";
                return false;
            }
        }

        //Check password length if short
        function validate_password_length_min(){
            if($this->get_password_length < 5){
                echo "<li>Password provided's too short!</li>";
                return false;
            }
        }

        //Check email length if short
        function validate_email_length_min(){
            if($this->get_email_length < 5){
                echo "<li>Email provided's too short!</li>";
                return false;
            }
        }

4 个答案:

答案 0 :(得分:2)

这不是lots ......只要它有意义并且不违反原则,你就可以了。只需遵循编程规则和OOP。

您展示的这些方法显然有些相关,如果将它们放入一个类中则不是问题。如果这个逻辑遍布你的源代码,我认为会更糟。

答案 1 :(得分:1)

根据我的经验,就像那样:你开始编写你的课程,然后你回来为一个方法添加一些东西,然后你可以通过一个类似的功能扩展你的类,最后你最终意识到,它变得很脏,有很多东西,你可以合并到一个(私有)函数,不仅可以减少代码的长度,而且还可以使维护更容易。

所以我的建议是:总是花一点时间,想一想你要做什么,以及你要实现的方法是否是一系列子功能,这些子功能本身在其他地方会有用。尽量使你的函数尽可能原子化,但只声明需要公开的函数。

答案 2 :(得分:0)

我假设您将同时使用所有这些验证功能,因此我建议将它们全部放在一起。

但是一般来说,你可以在一个类中拥有任意数量的函数,但最终你会达到这样一个程度:你有这么多函数,而不是让代码变得更简单,你只是弄得一团糟。

我只将不相关的代码放在不同的函数中。因为当你有相似的代码部分时,通常更容易在一个函数中编写代码。

答案 3 :(得分:0)

是的。只要课堂上的方法是相关的,就可以了。你的是一个很短的清单。如果你想验证你可以使用GUMP Validator。它也很简单。