当前位置: 代码迷 >> Web前端 >> wordpress 中的数据储存 序列化
  详细解决方案

wordpress 中的数据储存 序列化

热度:861   发布时间:2012-06-29 15:48:46.0
wordpress 中的数据存储 序列化

? ? ? ? 最近在研究wordpress,很想知道它的user-role-capabilities 是如何存储在数据表中的。它并没有采用传统方式,即user,role,capabilities ,user-role,role-capabilities 等分别存在一张表中。而是 采用key value 的形式 将信息浓缩在了value中。

? ? ? ?role,capabilities,role-capabilities 这三者的内容存在了wp_options表的option_name=wp_user_roles的value中,其值 形式如下 :

? ? ? ?a:6:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities".......

? ? ? uer-role 的定义存在了 wp_usermeta表的 meta_key =wp_capabilities 的value中,其值形式如下:

? ? ??a:1:{s:13:"administrator";s:1:"1";}

?

? ? ? 这个值是怎么得到的呢,如何翻译?经过一番调查发现,这些值是wordpress 对象或数组 通过serialize() ,maybe_serialize()等函数序列化以后的结果。示例如下

?

?

?


  • $myOptions = array(
  • 'firstOption' => 1,
  • 'secondOption' => 'second'
  • );
  • add_option('myOptions', $myOptions);

在数据库中,值变成如下内容:?

其中: ? ?a代表array i 代表integer s 代表string 数字代表长度


  • a:2:{s:11:"firstOption";i:1;s:12:"secondOption";s:6:"second";}

?

  相关解决方案