Php 包含未使用的完整功能或多个包含

Php 包含未使用的完整功能或多个包含,php,memory-management,login,cpu-usage,Php,Memory Management,Login,Cpu Usage,我正在创建一个PHP授权框架,其目标是简单而快速。我的问题很简单,我希望只需要一个include就可以使用它,但是当只有一个include时,它可能会加载不必要的函数。所以我的问题是,哪一个更好,包括所有导致使用更多内存的函数,还是包括一个具有包含该函数的函数的文件,导致不必要的函数更小,但它会使用更多的CPU使用率 例如,我的登录函数如下所示: function login ($submit ='login', $user = 'user', $pass = 'pass') { if

我正在创建一个PHP授权框架,其目标是简单而快速。我的问题很简单,我希望只需要一个include就可以使用它,但是当只有一个include时,它可能会加载不必要的函数。所以我的问题是,哪一个更好,包括所有导致使用更多内存的函数,还是包括一个具有包含该函数的函数的文件,导致不必要的函数更小,但它会使用更多的CPU使用率

例如,我的登录函数如下所示:

function login ($submit ='login', $user = 'user', $pass = 'pass') {
    if ($_POST[$submit]){

        $user = $_POST[$user];
    $pass = $_POST[$pass];

    if ($user && $pass){ //if user and pass is enterered

            require("auth_vars.php"); //require MySQL conection settings
            mysql_connect($auth_mysql_server, $auth_mysql_user, $auth_mysql_pass); //connect to MySQL
        mysql_select_db($auth_mysql_db); // select MySQL database

            $pass = md5($pass); // hash password

            $query = mysql_query("SELECT * FROM $auth_mysql_table WHERE user='$user'"); // run query
            $numrows = mysql_num_rows($query);

            if ($numrows == 1){ //check if user exists
                $row = mysql_fetch_assoc ($query);
                $dbid = $row[$auth_mysql_id_row];
                    $dbuser = $row[$auth_mysql_user_row];
                    $dbpass = $row[$auth_mysql_pass_row];

                    if ($pass == $dbpass){ // if password is equal to the one in the database start session
                        //set session information
                        $_SESSION['userid'] = $dbid;
                        $_SESSION['username'] = $dbuser;


                        header("Location:$auth_path_loggedin"); // goto logged in page

                    }
                    else return (3);
            }
            else return (2);

            mysql_close(); // close MySql connection
        }
        else return (1);
}else {
    // If the user clicks the "Log Out" link.
    if(isset($_GET['status']) && $_GET['status'] == 'loggedout') {
        logout();//logout
        return 4;
        //else if the user is denied
    }else if(isset($_GET['status']) && $_GET['status'] == 'denied') {
        logout(); //to keep it clean in case of errors
        return 5;
    }
}}
现在,如果不需要登录功能,最好执行以下操作:

function login ($submit ='login', $user = 'user', $pass = 'pass') {
    include ("myloginfunction.php");
    login_function($submit, $user, $pass);
}

或者,与包含整个功能所需的内存量相比,它会使用更多不必要的CPU使用量

这两种方法都比另一种好得多。通过将mysql连接的创建移出登录函数,使所有SQL查询使用同一个连接,而不是创建多个连接,您可能会获得更多