【发布时间】:2014-05-06 17:06:13
【问题描述】:
我正在 Phalcon PHP 中创建一个 RESTful API,我像往常一样设置 DI 和数据库信息:
这就是我在 DI 中配置数据库的方式。
use Phalcon\Db\Adapter\Pdo\Postgresql as DbAdapter;
$di = new FactoryDefault();
$di['db'] = function() use ($config) {
return new DbAdapter(array(
"host" => $config->database->host,
"username" => $config->database->username,
"password" => $config->database->password,
"dbname" => $config->database->dbname,
"schema" => $config->database->schema,
));
};
然后设置DI
$app->setDi($di);
我正在处理这样的操作:
//Gets a client information
$app->get('/client', array(new ClientController, 'getAction'));
问题是,当 ClientController 创建一个新模型对象时,它只是返回一个错误,说找不到表,我认为是因为它没有从 DI 加载数据库信息,所以我的问题是,我该如何全局设置该信息,难道不应该是 Phalcon 做的吗?
数据库在主应用程序控制器中工作正常,但我想在其他不同的子控制器中订购方法,并且数据库配置不起作用。
我正在按照文档中的说明进行操作:
http://docs.phalconphp.com/es/latest/reference/micro.html
谢谢。
【问题讨论】:
-
如何在配置和 DI 中配置
db服务?