我有这个功能文件.通过执行… …是我在其中运行所有功能,还是只是简单地允许它们被调用(使它们存在于当前作用域中).
抱歉,如果这是一个基本问题,我是PHP nooby!
<?php /* * ------------------------------------------------------------------------------------- * ---------------------------- GLOBALLY AVAILABLE FUNCTIONS --------------------------- * ------------------------------------------------------------------------------------- */ function user_loggedin_check() { if(isset($_COOKIE["logged_in"]) && ($_COOKIE["logged_in"] == true)){ $logged_in = true; setcookie("logged_in", $logged_in, time() 14400); return true; } else { header("Location: index.php?loginerr=6"); exit(); } } function permission_level_2_check() { if(isset($_COOKIE["permission_level"]) && ($_COOKIE["permission_level"] == 2)){ $logged_in = true; setcookie("logged_in", $logged_in, time() 14400); return true; } else { setcookie("logged_in", false, time()-1); setcookie("permission_level", 1, time()-1); session_unset(); session_destroy(); header("Location: index.php?loginerr=7"); exit(); } } function permission_level_3_check() { if(isset($_COOKIE["permission_level"]) && ($_COOKIE["permission_level"] == 3)){ $logged_in = true; setcookie("logged_in", $logged_in, time() 14400); return true; } else { setcookie("logged_in", false, time()-1); setcookie("permission_level", 1, time()-1); session_unset(); session_destroy(); header("Location: index.php?loginerr=7"); exit(); } } function display_login_errors() { /* * ------------------------------------------------------------------------------------- * ---------------------------------- ERROR LIST --------------------------------------- * ------------------------------------------------------------------------------------- */ /* * loginerr=0 -> passwords don"t match * loginerr=1 -> username already exists in DB * loginerr=2 -> registration is currently disabled * loginerr=3 -> password is too long and/or too short * loginerr=4 -> email isn"t in proper format * loginerr=5 -> email is too long and/or too short * loginerr=6 -> user isn"t logged in, generic redirect to login page error * loginerr=7 -> user doesn"t have the required access to view that page */ if(isset($_GET["loginerr"])){ $loginerr = $_GET["loginerr"]; switch ($loginerr) { case 0: echo "
您只是在定义函数,而不是调用它们.如果该文件中有函数调用,它将执行.通常,您想要分离执行代码和函数/类定义.
如果您的文件仅包含函数或类定义,则最好使用include_once(或require_once).因为如果两次包含该文件,将得到一个函数已经存在错误.使用include_once可以避免这种情况.
处理依赖关系的一种更高级的方法是使用spl_autoload_register自动加载.Symfony2等流行的框架具有独特的命名方案,可让您将类名映射到文件名,以便可以即时自动加载任何类.
来源:https://www.icode9.com/content-1-576301.html