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

如何为所有php页面定义变量?,php,Php,我有generate.php和show.php,在show.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 (!

我有
generate.php
show.php
,在
show.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>";
        }
// 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\u type,$db\u host,$db\u user,$db\u pass,$db\u name,$table\u prefix)
有一次?

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

只需使用数据库连接创建第三个文件,然后
包括
/
请求
将其放在您想要的任何位置

文件:connection.php

<?php
$db = createDatabaseConnection($db_type, $db_host, $db_user, $db_pass, $db_name, $table_prefix);
现在,您可以在文件
generate.php

中的任何位置使用
$db
,oop方式(可能还有软件架构清洁方式)是使用依赖注入和ioc。这也是每个现代php框架的发展方向。如果你使用Laravel或类似的东西,那已经是内置的了。看看

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

class Foo
{
    private $db;

    public function __construct(KEYDatabase $db)
    {
        $this->db = $db;
    }
}
然后使用容器创建类

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

你的整个前提都错了。您不应该创建DB类。相反,您应该使用PDO或MySQLi实例,并将该实例传递给需要使用它的所有类。你没有的是程序混乱。@tereško尽管我很欣赏你的观点,但我不同意你的看法,OP似乎正处于学习技巧的初级阶段,因此,也许让他放松一些,让他进行实验和探索更合适,而不是抛弃复杂的编码标准和良好实践,从问题本身来看,很明显他已经开始研究语言了,让我们先给他一些有用的东西。依我拙见
$foo = $container->get('Foo');