美好的一天。
我有一个PDO(PostgreSQL)对象在我的Phalcon框架中执行数据库中的操作,问题是我实现了一些我发现的Oauth服务器类,并且需要将此对象传递给Oauth服务器,因此它可以对数据库执行操作...
这就是创建类的方法:
数据库对象:
$di['db']
以及我如何将其发送到课程中:
// Initiate the auth server with the models
$server = new League\OAuth2\Server\Resource(
new League\OAuth2\Server\Storage\PDO\Session($di['db'])
);
Session.php文件:
<?php
namespace League\OAuth2\Server\Storage\PDO;
use League\OAuth2\Server\Storage\SessionInterface;
class Session implements SessionInterface
{
public functions that will need to use the database object...
但是Session.php文件中没有该对象,那么如何从新类中访问它?
感谢。
答案 0 :(得分:1)
声明一个私有变量并在Session.php
中向该类添加一个构造函数private $database;
public function __construct($database) {
$this->database = $database;
}
实例化Session对象后,您可以通过
访问Session对象方法中的数据库对象$this->database->do_something();
我建议在构造函数中添加类型提示,但由于我不知道$ database应该是什么对象类型,所以我将其关闭。您可以在此处阅读有关类型提示的更多信息: