2013-04-22 73 views
1

比如我有文件config.php:PHP獲得類變量從另一個文件

$host = 'localhost'; 
$db = 'logger'; 
$user = 'user'; 
$pwd = 'pass'; 

和文件mysqlClass.php

class mysql{ 

public function connect(){ 

//hot get get variables form confing.php there ? 
} 

} 

而且我不知道熱擺脫confin.php變量在MySQL類,我無法更改config.php文件

+1

通過函數傳遞變量,或全局調用它們。谷歌那些信息。 – 2013-04-22 19:11:25

+0

將它們傳遞給類的構造函數。 – Ejaz 2013-04-22 19:13:01

+0

請勿使用'mysql_'數據庫函數;改用類似PDO的東西。 http://php.net/manual/en/book.pdo.php – 2013-04-22 19:13:56

回答

2

只是require_once()文件

public function connect() { 
    require_once 'config.php'; 
    // ...code... 
} 
+0

另外一個可能的方式,但包括功能文件(除了自動加載器),這是不錯的風格? – bwoebi 2013-04-22 19:12:44

1
include 'config.php'; 
include_once 'config.php'; 

require 'config.php'; 
require_once 'config.php'; 

內部的mysqlClass.php

includerequire之間的區別是,require也將產生致命的E_COMPILE_ERROR電平誤差,停止腳本,反之,include只生產E_WARNING,它不會停止腳本。 include_oncerequire_onceincluderequire之間的區別在於PHP會檢查文件是否已經包含,如果沒有,它會包含它。如果有,它會而不是再次加載它。

1

使用功能參數:

class mysql{ 
    public function connect($host, $db, $user, $pass){ 
     // do something with the variables 
    } 
} 

現在,當實例mysql,用途:

require 'config.php'; 
$mysql = new mysql($host, $db, $user, $pass); 
+0

這是一個更好的解決方案,符合面向對象的代碼應該是什麼。不要在你的Mysql類中使用require_once。 – 2013-04-22 20:09:38

+0

這就是我對@bsdnoobz評論的內容 – bwoebi 2013-04-22 20:12:25