我有一个简单的核心类,用于一个小型web应用程序的核心功能。我在类中定义了一些常量-其中大部分是静态函数-我想在类之外设置/编辑这些常量,例如:
class core{
const connection = '';
public static function someSqlScript(){
$sql = "SELECT * FROM sometable WHERE someconditions";
$exec = mysqli_query(self::connection, $sql);
}
}
现在,我希望能够设置连接常数,以便它引用mysql连接对象,该对象(通过另一个脚本)已经被分配给变量$con,所以基本上我要这样做:
core::connection = $con; //send connection for use in class
core::someSqlScript(); //should not perform the MySQL query using conneciton $con as above
任何帮助都是非常感激的,我习惯在类中使用非静态函数和变量,但是带有常量的静态函数已经得到了我。
谢谢大家。
常数的含义是,您不能更改它。您需要一个静态变量:
class core{
public static $connection = '';
public static function someSqlScript(){
$sql = "SELECT * FROM sometable WHERE someconditions";
$exec = mysqli_query(self::$connection, $sql);
}
}
core::$connection = $con;
core::someSqlScript();
注意public static $connection
而不是const connection
, self::$connection
而不是self::connection
(同样core::$connection
而不是core::connection
)
常量的思想是,它们在定义后不能被更改。