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