php导入共通,如何在PHP中通过类共享MySQL连接?

我想与保留查询的PHP中的其他类共享MySQL连接.

因此MySQL.php包含:

$user = 'username';

$passowrd = 'password';

$conn = new PDO('mysql:host=ip;dbname=DBName;port=3306',$user,$passowrd);

?>

我称为MyLibrary.php的php文件包含:

include 'DB.php';

class Manager {

function jsonQuery() {

$response = array ();

$st = $conn->query ( "query");

$response ["results"] = array ();

foreach ( $st->fetchAll () as $row ) {

//my stuff with the query

}

$response ["success"] = 1;

echo json_encode ( $response );

}

}

$object = new Manager();

$object->jsonQuery();

?>

那我该怎么办?

解决方法:

它称为dependency injection,易于实现.您在实例化参数时将其直接传递到类中.这样,您就可以实现它一次以上,并在代码库中共享该实例

class Manager {

/** @var \PDO */

protected $pdo;

public function __construct(\PDO $pdo) {

$this->pdo = $pdo;

}

public function jsonQuery() {

$response = array ();

$st = $this->pdo->query("query");

$response ["results"] = array();

foreach ( $st->fetchAll() as $row ) {

//my stuff with the query

}

$response ["success"] = 1;

echo json_encode($response);

}

}

$object = new Manager($conn);

标签:mysql,php

来源: https://codeday.me/bug/20191120/2041130.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值