0
我正在创建一个旨在简单而快速的PHP授权框架。我的问题是简单的,我希望只有一个包含需要使用它,但是只有一个包含它可能会加载不必要的功能。所以我的问题是哪一个更好,包括所有导致更多内存被使用的函数,或者包含一个文件,该文件具有包含该函数的功能,从而导致更小的不必要的功能,但会占用更多的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使用量与包含整个功能所需的内存量相比较