我正在爲一個web項目創建一個安裝頁面,以便在它變爲活動之前定義所有配置變量和常量。我想將這些配置變量保存在數據庫中,但項目經理希望將它們保存在一個文件中。所以出現了我的問題。我如何定義這些變量,而const或define將適用於這項工作? 例如何定義一個變量const或靜態
<?php
$email_parameter="[email protected]"//we need to set this at install.php page and keep it that way
?>
我正在爲一個web項目創建一個安裝頁面,以便在它變爲活動之前定義所有配置變量和常量。我想將這些配置變量保存在數據庫中,但項目經理希望將它們保存在一個文件中。所以出現了我的問題。我如何定義這些變量,而const或define將適用於這項工作? 例如何定義一個變量const或靜態
<?php
$email_parameter="[email protected]"//we need to set this at install.php page and keep it that way
?>
那麼我檢查所有的答案,我感謝你,幫我找到我的正確路徑(至少一個滿足我的「項目經理」。)我結束了下面這個解決方案:(這些價值例如)
$f=fopen("config.php","w");
$database_inf="<?php
define('DATABASE_HOST', '".$database_host."');
define('DATABASE_NAME', '".$database_name."');
define('DATABASE_USERNAME', '".$database_username."');
define('DATABASE_PASSWORD', '".$database_password."');
define('ADMIN_NAME', '".$admin_name."');
define('ADMIN_PASSWORD', '".$admin_password."');
?>";
if (fwrite($f,$database_inf)>0){
fclose($f);
}
這只是和示例,以顯示我如何解決它。首先,我創建並安裝了php,並在沒有配置文件設置時爲該頁面設置默認路由。然後我問用戶輸入realted值並將它們保存在變量中。最後我創建了一個配置文件,並將它們引入其中。我希望這可以幫助處理類似情況的其他人。
可以使用圖案登記
<?php
/**
* Registry
*/
class Product
{
/**
* @var mixed[]
*/
protected static $data = array();
/**
* add value to registry
*
* @param string $key
* @param mixed $value
* @return void
*/
public static function set($key, $value)
{
self::$data[$key] = $value;
}
/**
* get value from registry
*
* @param string $key
* @return mixed
*/
public static function get($key)
{
return isset(self::$data[$key]) ? self::$data[$key] : null;
}
/**
* remove value from registry
*
* @param string $key
* @return void
*/
final public static function removeProduct($key)
{
if (array_key_exists($key, self::$data)) {
unset(self::$data[$key]);
}
}
}
/*
* =====================================
* USING OF REGISTRY
* =====================================
*/
Product::set('name', 'First product');
print_r(Product::get('name'));
// First product
我會立即檢查。 –
定義,定義( 'const_name', 'const_value')
常量
但
所以,我建議讓你的安裝腳本寫一個配置文件,例如config.inc包含定義語句爲收集的值。然後讓運行時腳本包含(執行)它:require_once()。
如果(也許以後)構造像數組應該被初始化,安裝腳本可能會添加這些語句&hellip;和更多(甚至定義類)。
執行,而不是讀取,一個配置文件:
在最終我永遠無法衡量執行和讀取配置文件之間的巨大差異。而且 - 由於配置文件是由安裝腳本編寫的,而不是手動修改的,所以插入語法錯誤的方面並不重要。
已安裝的應用程序後,您需要爲您的項目是每一個頁面的全局變量?我認爲你知道答案,全局變量是和不好的,雖然我不知道你的項目細節。通常,配置變量保存在配置文件中,Config類可以通過您需要的配置變量的參數來訪問。常量應該是他們是什麼 - 常量,意味着它們不應該是配置變量。 –
也看看[這](http://stackoverflow.com/questions/2447791/define-vs-const) – Ali
@SiimKallari因爲項目經理希望,並提出這樣的話,我將需要找到一種方法來項目去做。我爲這個和一個類創建了一個文件,但是我想知道如何設置那些需要保持不變但同時能夠改變的變量?首先,我認爲擰它,我會創建文件,並用fwrite寫東西,但似乎是錯誤的。 –