[英]Accessing session variable in datatable editor
我想在應用程序生命周期中動態設置數據庫憑據。 由於我無法從調用我的編輯器自動加載器的類函數中執行此操作,因此我選擇將數據表編輯器的.config文件編輯為此
require_once('../functions/functions.php');
//get db credentials
$db_credentials = get_db_credentials($_SESSION['MY_DATA']['tenant_uuid']);
$sql_details = array(
"type" => "Mysql",
"user" => $db_credentials['datastore_db_username'],
"pass" => $db_credentials['datastore_db_password'],
"db" => $db_credentials['datastore_db_name'],
"host" => $db_credentials['datastore_db_host'],
"dsn" => "",
"port" => "",
);
但是按我的日志看來,我無法訪問會話變量
$_SESSION['MY_DATA']['tenant_uuid']
。
我想念什么?
我終於找到了解決方法。 我需要做的就是在函數文件中包含DataTables \\ Database命名空間,然后繼續創建新的數據庫實例。 在函數中更改全局變量非常棘手。
無需麻煩編輯config.php文件。
最終解決方案:
use
DataTables\Database,
DataTables\Editor,
DataTables\Editor\Field,
DataTables\Editor\Format,
DataTables\Editor\Mjoin,
DataTables\Editor\Options,
DataTables\Editor\Upload,
DataTables\Editor\Validate;
在功能上
$db_credentials = get_db_credentials($_SESSION['MY_DATA']['tenant_uuid']);
$sql_details = array(
"type" => "Mysql",
"user" => $db_credentials['datastore_db_username'],
"pass" => $db_credentials['datastore_db_password'],
"db" => $db_credentials['datastore_db_name'],
"host" => $db_credentials['datastore_db_host'],
"dsn" => "",
"port" => "",
);
$db_details = new Database( $sql_details );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.