主要问题是自我解释,但我会举一些例子:
我在搞清楚数据库时遇到了麻烦,虽然看起来我可以使用ServiceManager来解决配置问题
我想将常量用于cookie名称,因此如果发生碰撞,我可以轻松更改它们。目前,我每次想要访问我的全局config.php文件时都会调用$config = new \Zend\Config\Config(include $_SERVER['DOCUMENT_ROOT'] . '/../config.php');
。许多以前的解决方案都在Zend 1中(例如Zend_Registry)。这是正确的方法吗?一遍又一遍地使用它似乎有点笨拙。
有没有办法利用Module的配置文件来设置模块范围的变量/常量?
除非我完全错过它,否则Zend 2中没有application.ini
存储recaptcha公钥/私钥
我也在使用我的配置文件进行会话变量(与$_SESSION[CONST_NAME]
相同的想法),这使得上面的配置文件非常笨拙。硬编码会话名称会更好吗?像:
$container = new Zend\Session\Container('auth');
$container->offsetSet('user', $user);
... // instead of
$container = new Zend\Zession\Container($config['auth']['containername']);
$container->offsetSet($config['auth']['user'], $user);
答案 0 :(得分:2)
每个module.config.php
或Module.php
的所有配置都放在一个大锅中。您可以通过$this->getServiceLocator()->get('config')
当涉及到常量时,它们应该放在各自的类中。像
class UserStorage {
const SESSIONCONTAINERNAME = 'blubbusersession';
}
这样,只要您需要此信息,就可以致电\My\User\Model\UserStorage::SESSIONCONTAINERNAME
就您的示例而言,我们几乎不需要var-code
您的会话容器名称,因为模块会话数据中的信息应该通过您的模块提供{{1} }。但如果您仍然需要它,请参阅上面的示例。
此外,我认为你可以查看zf-commons\ZfcUser
如何做事