我有一个简单的核心类,用于小型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
非常感谢任何帮助,我习惯在类中使用非静态函数和变量,但是带有常量的静态函数让我感到高兴。
感谢所有人。
答案 0 :(得分:3)
常量的含义是,您无法更改它。您需要静态变量:
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
)。
答案 1 :(得分:2)
constants的想法是,在定义之后不能改变它们。