首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中实例化新类时发送对象

在PHP中实例化新类时发送对象
EN

Stack Overflow用户
提问于 2014-04-15 01:54:23
回答 1查看 102关注 0票数 1

日安。

我有一个PDO (PostgreSQL)对象在我的Phalcon框架中执行数据库中的操作,问题是我正在实现我找到的一些Oauth服务器类,并且需要将这个对象传递给Oauth服务器的类,这样它就可以执行操作到数据库.

以下是创建类的方式:

数据库对象:

代码语言:javascript
运行
复制
$di['db']

以及我是如何把它送到课堂上的:

代码语言:javascript
运行
复制
// Initiate the auth server with the models
$server = new League\OAuth2\Server\Resource(
    new League\OAuth2\Server\Storage\PDO\Session($di['db'])
);

Session.php文件:

代码语言:javascript
运行
复制
<?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文件中不可用,所以我如何从新的类中访问它?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 02:11:08

声明私有变量并在Session.php中向类添加构造函数

代码语言:javascript
运行
复制
private $database;

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

实例化会话对象之后,您将能够访问会话对象的方法中的数据库对象。

代码语言:javascript
运行
复制
$this->database->do_something();

我建议在构造函数中添加暗示类型,但是由于我不知道$database应该是什么对象类型,所以我将退出它。您可以在这里阅读更多关于类型提示的内容:

http://www.php.net/manual/en/language.oop5.typehinting.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23073380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档