如何为所有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');