如何为所有php页面定义变量?

时间:2018-05-12 21:39:19

标签: php

我有generate.php& show.phpshow.php我用来定义$db以使用$result = $db->Show_keys();

show.php内容:

// Connect to the database server and select database.

    $db = createDatabaseConnection($db_type, $db_host, $db_user, $db_pass, $db_name, $table_prefix);


    if (!$db instanceof KEYDatabase) {
        die(get_lang('no_db_connection'));
    }

    $result = $db->Show_keys();

        foreach ( $result as $row )
        {
            echo $row['key_value']."<br>";
        }
generate.php中的

我还需要定义$db以使用$db->addkey($key_value,$key_balance,$key_created_date)

generate.php内容:

// Connect to the database server and select database.
$db = createDatabaseConnection($db_type, $db_host, $db_user, $db_pass, $db_name, $table_prefix);


if (!$db instanceof KEYDatabase) {
    die(get_lang('no_db_connection'));
}

$key_value = serialkey();

$key_balance = 10;

$key_created_date = date("Y-m-d h:m:s");


if ($db->addkey($key_value,$key_balance,$key_created_date))

{
    echo 'New Key add to database!<br>'.$key_value;
}

现在我的朋友,我如何定义$db = createDatabaseConnection($db_type, $db_host, $db_user, $db_pass, $db_name, $table_prefix); 一次?

3 个答案:

答案 0 :(得分:2)

创建一个db.php文件,在其中定义$db,然后在php文件的开头调用它require_once('db.php');

答案 1 :(得分:1)

oop方式(也许软件架构清洁方式)将使用依赖注入和ioc。这也是每个现代php框架的方法。如果您使用Laravel或类似的东西,那已经内置了。只需查看php-di.org

如果创建一个带依赖注入的类,则它是di容器的一部分,用于自动解析构造函数参数并传递合适的对象。

class Foo
{
    private $db;

    public function __construct(KEYDatabase $db)
    {
        $this->db = $db;
    }
}

然后用你的容器创建类。

$foo = $container->get('Foo');

答案 2 :(得分:0)

只需使用数据库连接创建第三个文件,然后在任意位置创建include / requre

文件: connection.php

<?php
$db = createDatabaseConnection($db_type, $db_host, $db_user, $db_pass, $db_name, $table_prefix);

文件: generate.php

require_once('connection.php'); // Considering that the files are under same parent directory

现在,您可以在文件$db

中的任意位置使用generate.php