2010-03-06 2 views
1

У меня есть класс, который вставляет информацию в базу данных MySQL. У меня есть переменные соединения, заданные как поля в верхней части класса. Когда я запускаю класс, он работает отлично.Использование «включает» в OO 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 на этом сайте нет модуля мышления. –

+0

Просто добавил код к оригинальному вопросу. Прошу прощения. – user277813

ответ

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

Смежные вопросы