如何检查PHP类中的所有函数值?

如何检查PHP类中的所有函数值?,php,function,class,Php,Function,Class,我对PHP类感到困惑。我知道它是如何工作的,但仍然感到困惑。我需要帮助来解决这个问题 我的问题是,我想从数据库中检查一些东西,为此,我需要创建至少三到四个函数。然后我将检查所有以前的函数是否返回true。如果所有函数都返回true,则第六个函数将工作;如果任何一个函数返回false,则第七个函数将运行 这样的剧本, <?php class Function{ function one(){ //does database query if(succ

我对PHP类感到困惑。我知道它是如何工作的,但仍然感到困惑。我需要帮助来解决这个问题

我的问题是,我想从数据库中检查一些东西,为此,我需要创建至少三到四个函数。然后我将检查所有以前的函数是否返回true。如果所有函数都返回true,则第六个函数将工作;如果任何一个函数返回false,则第七个函数将运行

这样的剧本,

<?php
class Function{
    function one(){
        //does database query

        if(success){
            return true;
        } 

        else {
            return false;
        }
    }
    function two(){
        //does database query

        if(success){
            return true;
        } 

        else {
            return false;
        }
    }
    function three(){
        //does database query

        if(success){
            return true;
        } 

        else {
            return false;
        }
    }
    function four(){
        //does database query

        if(success){
            return true;
        } 

        else {
            return false;
        }
    }
    function five(){
        //checks what all function are returning
        if(all functions are true){
            do_sixth_function();
        }else{
            do_seventh_function();
        }
    }
    function do_sixth_function(){
        //show details to user.
    }
    function do_seventh_function(){
        //forward user to somewhere.
    }

}
?>

如果有人能帮助我,请告诉我。无论如何,谢谢你D

您可以执行以下操作:

$methods = array('one', 'two', 'three', 'four');
foreach ($methods as $v) {
    if (!$this->$v()) { // Or if (!call_user_func(array($this, $v))) {
        $this->seven();
        break;
    }

    $this->six();
}

你可以这样做:

$methods = array('one', 'two', 'three', 'four');
foreach ($methods as $v) {
    if (!$this->$v()) { // Or if (!call_user_func(array($this, $v))) {
        $this->seven();
        break;
    }

    $this->six();
}

或者你可以试试这样的

function one(){
    if(this is true){

        function two();
        return true;
    }

    else {
        function false_value();
        return false;
    }
}

function two(){
    if(this is true){
        function three();
        return true;
    }
    else {
        function false_value();
        return false;
    }

}

function false_value(){
    //this function will handle all invalid or false values
}

所以你可以继续下去。通过这种方式,您的函数将像循环一样工作,如果您想在数据库中插入数据,它将帮助您获得更准确的数据,并且它也将帮助您获取数据。意味着如果第一个条件为false,那么它将调用处理所有false条件的函数。

或者您可以尝试类似的方法

function one(){
    if(this is true){

        function two();
        return true;
    }

    else {
        function false_value();
        return false;
    }
}

function two(){
    if(this is true){
        function three();
        return true;
    }
    else {
        function false_value();
        return false;
    }

}

function false_value(){
    //this function will handle all invalid or false values
}

所以你可以继续下去。通过这种方式,您的函数将像循环一样工作,如果您想在数据库中插入数据,它将帮助您获得更准确的数据,并且它也将帮助您获取数据。意味着如果第一个条件为false,那么它将调用处理所有false条件的函数。

如果
函数
是有效的类名,我会感到惊讶。我可以创建类似MyFunctionToCheckValues之类的名称。你真的应该重新考虑更改工作流。这将变得非常混乱。如果必须以任何一种方式检查查询,则必须检查true/false,但如果不需要单独的函数,则可以将它们组合起来进行清理。我知道,但我将从不同的表中进行检查。我的意思是从表1,表2等等,当然,但是你真的需要它们作为单独的函数吗?如果
Function
是一个有效的类名,我会很惊讶。我可以创建类似MyFunctiontocheckValues之类的名称。你真的应该重新考虑更改工作流。这将变得非常混乱。如果必须以任何一种方式检查查询,则必须检查true/false,但如果不需要单独的函数,则可以将它们组合起来进行清理。我知道,但我将从不同的表中进行检查。我的意思是从表1,表2等等,当然,但是你真的需要它们作为单独的函数吗?它们在其他地方使用吗?