如何在不同的PHP文件中重复相同的PHP代码段?
例如,我定义了变量$user
,然后我插入了PHP代码,它可以访问这个变量。
的更新
我将使用if语句
示例(没有if语句):
function sanitizeString($var)
{
$var = htmlentities($var, ENT_QUOTES, "UTF-8");
return mysql_real_escape_string($var);
}
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
//code i want to repeat in different files
$user=$user;
$pass=$pass;
#salt generation
$salt=uniqid(mt_rand(), true);
#Add data to tables
queryMysql("INSERT INTO accounts VALUES('$user', '".hash('sha512',$pass+$salt)."', '$salt', '$cookie_value')");
mysql_query("INSERT INTO passwordreset VALUES('$user', NULL, NULL)");
//end of code to repeat
答案 0 :(得分:2)
将functions与parameters一起使用,这就是他们的目的。可以在具有不同变量的不同上下文中重用的代码片段。
答案 1 :(得分:1)
制作课程和方法
class User
{
public $user;
public function User($name)
{
$user = $name;
}
}
$User = new User('name1');
echo $User->user;
$User = new User('name2');
echo $User->user;
$User = new User('name3');
echo $User->user;
$User = new User('name4');
echo $User->user;
输出:name1name2name3name4
答案 2 :(得分:0)
你可以在一个php文件中添加代码或变量,然后在任何你想要的地方包含该文件 你可以看到例子here
答案 3 :(得分:-1)
(删除了global keyword,因为在这种情况下没有必要)
一种方法是使用$ GLOBALS变量,它可以在任何地方访问,如$ _SERVER,$ _POST等。请参阅Superglobals。正如Deceze所提到的,全局变量通常不是最佳解决方案,因为它们容易导致意外错误。有关此问题的详细信息,请give this a read。
$GLOBALS['user'] = "RadGH";
include "my_file.php";
my_file.php:
echo $GLOBALS['user'];
来自Bondeye的评论中,在处理不需要更改的数据时,首选使用常量。全局变量的一个问题是,线下数据可能会被意外更改或引用。由于常量不能改变,情况并非如此。
define('USER', 'RadGH');
include "my_file.php";
my_file.php:
echo USER;