新浪SAE中的資料庫常量是如何實現的?
01-26
用新浪SAE時發現他的配置項都是用常量實現的,這樣很方便去調用,還可以不暴露實際配置信息,如:
用戶名 : SAE_MYSQL_USER密 碼 : SAE_MYSQL_PASS主庫域名 : SAE_MYSQL_HOST_M
從庫域名 : SAE_MYSQL_HOST_S端 口 : SAE_MYSQL_PORT資料庫名 : SAE_MYSQL_DB想請問下,這些常量是如何實現的?這些常量是在那一層定義的?
谷歌搜索『SAE資料庫常量的實現』,在搜索結果的第一頁會找到這個鏈接:
在線等,SAE中的幾個Mysql常量是如何是實現的? - 技術問答- 雲計算開
進入這個鏈接,會看到 10 樓的回答中提到了一個文件 sae_include.function.php 。
那麼,谷歌搜索『sae_include.function.php』,第一個結果就是:
SAE Std Lib Source Code Online 。
在這個結果中的這部分:define( "SAE_MYSQL_HOST_M", "w.rdc.sae.sina.com.cn" );
define( "SAE_MYSQL_HOST_S", "r.rdc.sae.sina.com.cn" );
define( "SAE_MYSQL_PORT", 3307 );
define( "SAE_MYSQL_USER", SAE_ACCESSKEY );
define( "SAE_MYSQL_PASS", SAE_SECRETKEY );
define( "SAE_MYSQL_DB", "app_" . SAE_APPNAME );
就是你想要的答案。
其實很多時候,你離答案就只有一步之遙,但是你卻寧可依賴別人。
UPDATE
在 SAE Std Lib Source Code Online 並沒有找到 sae_get_env 這個函數的定義,但是幾個關鍵常量都是使用這個函數獲取的。通過 PHP 探針可以知道 SAE 上的 PHP 環境有 saeext 和 saecounter 這兩個模塊(下圖),(個人猜測) sae_get_env 應該是在 saeext 模塊內定義的。我來偏題一下,SAE的變數名總是在調整嗎?剛剛查看文檔才發現已經改成sae.const.MYSQL_DB這種形式了。
推薦閱讀:
※終於等到你——MySQL 5.7與PostgreSQL 9.6的百萬QPS大比拼
※如何實現基於 follow 關係的 timeline?
※如何安裝與連接MySQL?
※基於知乎用戶數據的基礎MySQL使用指南
※時間序列資料庫漫談
TAG:雲計算 | 資料庫 | 編程語言 | PHP | SinaAppEngine |