PHP常数设置内类,但我需要改变它外的类现在,这可以做到



我有一个简单的核心类,用于一个小型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)

常量的思想是,它们在定义后不能被更改。

最新更新