如何通过php5中的类和对象设置动态数据库值

时间:2017-01-18 14:46:36

标签: php database php-5.5

这是我的代码

<?php
    class Connection
        {
            function __construct()
                {
                    if(isset($_SERVER['SERVER_NAME']))
                        {
                            switch($_SERVER['SERVER_NAME'])
                                {
                                    case 'www.hashstar.com':
                                    $this->default = $this->dev;
                                    break;

                                    case 'www.hashstar.in':
                                    $this->default = $this->prod;
                                    break;
                                }
                        }
                    else
                        {
                            $this->default = $this->dev;
                        }
                }

                public $dev = array(
                                        'host' => 'localhost',
                                        'login' => 'root',
                                        'password' => '',
                                        'database' => 'dbname',
                                     );

                public $prod = array(
                                        'host' => 'localhost',
                                        'login' => 'db_admin',
                                        'password' => 'Admin@.2017',
                                        'database' => 'db_main',
                                    );

            public function establish_connection()
                {
                    $connection = new mysqli($this->host, $this->user, $this->pass, $this->db);

                    if($connection == TRUE)
                        {
                            return $connection;
                        }
                    else
                        {
                            die("Could Not Establish Connection! ".$connection->error);
                        }
                }
        }
?>

这段代码的问题在于我在这里宣布varaibles 1st为离线而2nd​​为for online因为我使用git我必须在推送到master分支之前一次又一次地更改代码。我甚至尝试使用.gitignore功能,但它也没有工作,但我仍然想根据服务器主机动态设置变量。

我已经尝试过使用switch case的东西,但它在编译时会出现语法错误。任何人都可以帮助mw使用此代码。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

将您的数据库凭据设置为一个新文件,然后将其添加到.gitignore中,如下所示:

$dbConfig = array(
  "host" => "localhost",
  ...
)

然后只需访问Connection类中的$ dbConfig