O que significa o chefe de arquivos de cache Smarty?
Pergunta
132
a:4:{s:8:"template";a:1:{s:10:"index.html";b:1;}s:9:"timestamp";i:1256373019;s:7:"expires";i:1256373079;s:13:"cache_serials";a:0:{}}<body>
php<br >
java<br >
c++<br >
</body>
Alguém pode explicar esta parte:
132
a:4:{s:8:"template";a:1:{s:10:"index.html";b:1;}s:9:"timestamp";i:1256373019;s:7:"expires";i:1256373079;s:13:"cache_serials";a:0:{}}
Solução
É uma versão serializada de uma matriz PHP:
<?php
$serialized = 'a:4:{s:8:"template";a:1:{s:10:"index.html";b:1;}s:9:"timestamp";i:1256373019;s:7:"expires";i:1256373079;s:13:"cache_serials";a:0:{}}';
$unserialized = unserialize($serialized);
print_r($unserialized);
Resulta em:
Array
(
[template] => Array
(
[index.html] => 1
)
[timestamp] => 1256373019
[expires] => 1256373079
[cache_serials] => Array
(
)
)
Outras dicas
Eu não sei muito sobre Smarty, mas isso parece algo semelhante a Bentificante, que é onde você codifica coisas como cordas e matrizes especificando seus comprimentos primeiro. Isso evita ter que delimitar essas coisas com "caracteres especiais" (como citações) que precisam ser "escapados" se aparecerem na sequência real.
132
é o comprimento da sequência codificada.a:4:
Parece que está introduzindo uma matriz associativa (dicionário) com 4 itens.s:8:"template"
Parece ser uma sequência de comprimento 8, com o valor "modelo". Nesse caso, é a chave do primeiro item no dicionário.- O valor desse item é, neste caso, outro dicionário que apenas mapeia a chave "index.html" para o valor inteiro 1.
- ... e acho que você pode resolver o resto.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow