1
遍布我们的代码,我们使用这行代码:为什么会话容器名称必须以字母开头?
$container = new Container(sha1($this->identity()->getEmail()));
不幸的是,ZF2只允许容器名称以字母开头。因此,对于某些电子邮件,这将失败。是否有这个限制的原因,如果是这样,为什么?我不认为散列电子邮件甚至是必要的,但我很好奇为什么我们不能。
遍布我们的代码,我们使用这行代码:为什么会话容器名称必须以字母开头?
$container = new Container(sha1($this->identity()->getEmail()));
不幸的是,ZF2只允许容器名称以字母开头。因此,对于某些电子邮件,这将失败。是否有这个限制的原因,如果是这样,为什么?我不认为散列电子邮件甚至是必要的,但我很好奇为什么我们不能。
会话容器和存储都扩展Zend\Stdlib\ArrayObject
类,允许将条目作为属性(通过魔术!)访问。
所以,一旦你有存储,您可以这样做:
$container = new Container('containerName');
$storage = $container->getManager()->getStorage();
$container = $storage->containerName;
因此,适用于PHP对象属性名称的所有限制适用于会话的容器名称。
不知道为什么相同的限制本身不适用于容器密钥本身。
我假设你看容器实际上是一个对象的源代码,所以在PHP变量(在这种情况下为对象)名称必须以字母开头。 – AbraCadaver