2010-03-06 33 views
1

我有一個將信息插入MySQL數據庫的類。我將連接變量設置爲類頂部的字段。當我運行這個類時,它完美地工作。在OO中使用「includes」PHP類

我想簡單地將類字段存儲在一個單獨的文件中(不是類,而只是保存在文件中的字段)並將其包含在我的類中。當我這樣做時,它不起作用。爲什麼是這樣?

GF

下面的代碼:

class RegChecker{ 


    //set database connection fields 
public $hostname_db_conn = "localhost"; 
public $database_db_conn = "thesis_db"; 
public $username_db_conn = "root"; 
public $password_db_conn = ""; 
...... 
} 

我只是簡單地想利用這四個領域,並將它們存儲在一個簡單的PHP文件,並將其包含在代替它們在實際的類如

class RegChecker{ 


    //set database connection fields 
include ("db_connection_fields"); 
...... 
} 

但這並不奏效。

+0

請顯示您的代碼,AFAIK本網站沒有思想轉移模塊。 – 2010-03-06 15:12:13

+0

只需在原始問題中添加代碼即可。 – user277813 2010-03-06 15:18:56

回答

2

你不能在類中使用include語句,只能在方法內部使用。 你可以做這樣的事情

class RegChecker {  
    function __construct() { 
      $this->db_params = include 'db.conf.php'; 
    } 
} 

db.conf.php

return array(
'host' => 'localhost', 
'user' => 'root', 
'pass' => '', 
'db' => 'thesis_db' 
); 

內BTW,RegChecker是類建立連接到數據庫一個可怕的名字。常見做法是製作單獨的Db類並在需要的任何地方傳遞此實例。

0

您正在將類插入到類中。這在PHP中不起作用。

我想弄清楚你是否可以用這種方式在PHP中注入代碼。

+0

是的,我以爲我只是簡單地將代碼注入類中。顯然你不能。 – user277813 2010-03-06 15:37:58