1

如果我有一个带有变量的 config.php 文件,就像这样......

配置.php

$cnf['dbhost'] = "0.0.0.0";
$cnf['dbuser'] = "mysqluser";
$cnf['dbpass'] = "mysqlpass";

然后如何从另一个文件中的类访问这些变量,例如...

公司/db.class.php

class db() {

  function connect() {
    mysql_connect($cnf['dbhost'], $cnf['dbuser'], $cnf['dbpass']);
  }

}
$db = new db();

因此,我可以在另一个文件中使用该类,例如...

索引.php

<html>
  <?php
    include('config.php');
    include('inc/db.class.php');
    $db->connect();
  ?>
</html>
4

2 回答 2

3

在 db 脚本的开头包含配置文件includerequirerequire_once 。您还需要$cnf在要使用的函数中指定为全局变量,否则您无法访问全局变量:

include "../config.php";

class db() {

  function connect() {
      global $cnf;
      mysql_connect($cnf['dbhost'], $cnf['dbuser'], $cnf['dbpass']);
  }

}
$db = new db();

编辑:在大型项目中,我更喜欢使用包含所有 php 文件的 boot.php,因此我不需要在每个文件中包含我需要的所有内容。有了这个,我只需要将引导包含在 index.php 中,并且必须处理所有定义。它有点慢,但真的很舒服。

于 2012-07-07T14:50:44.860 回答
2

只需包含config.php在您的inc/db.class.php.

编辑(回答评论中提出的查询)

你可以做的是init.php像下面这样,

include('config.php');
include('db.class.php');
include('file.php');

因此,您的类将能够从config.php. 现在对你来说,index.php你只需要包含init.php所有的类、配置等。

于 2012-07-07T14:50:59.057 回答