gpt4 book ai didi

php - 使用来自其他文件的变量在 PHP 类中使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:29 25 4
gpt4 key购买 nike

我有一个文件中的数据库凭证变量,名为 config.php :

$db_server = 'localhost';
$db_user = 'username';
$db_password = 'secret'
$db_name = 'dbname';

现在,我在/class 文件夹下有一个 PHP 类,它非常适合 CRUD 过程。命名为 MysqlCrud.class.php :

class Database {

private $db_host = 'localhost'; // Change as required
private $db_user = 'username'; // Change as required
private $db_pass = 'secret'; // Change as required
private $db_name = 'dbname'; // Change as required

}

但是,我想使用 config.php 中的集中变量。这就是为什么我添加一些这样的行:

include('../config.php');
class Database {

global $db_server;
global $db_user;
global $db_password;
global $db_name;

private $db_host = $db_server; // Change as required
private $db_user = $db_user; // Change as required
private $db_pass = $db_password; // Change as required
private $db_name = $db_name; // Change as required

}

但是,我收到以下错误消息:

Parse error: syntax error, unexpected 'global' (T_GLOBAL), expecting function (T_FUNCTION) in /home/*** on line **

为什么我不能在数据库类中使用 config.php 文件中的变量?我在这里做错了什么?谢谢。

最佳答案

您选择使用的方法的问题是该类不再可重用。每次实例化 Database 类时,它都会使用全局变量。

我更倾向于这样设置:

数据库.php

class Database {

private $host;
private $db_name;
private $username;
private $password;

function __construct($host, $db_name, $username, $password) {
$this->host = $host;
$this->db_name = $db_name;
$this->username = $username;
$this->password = $password;
}
}

然后在文件中使用 Database 类:

include('../config.php');

$db = new Database($db_server, $db_name, $db_user, $db_password);

关于php - 使用来自其他文件的变量在 PHP 类中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34758058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com