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";}

 

你可能感兴趣的:(wordpress,序列化,数据表,Serialize,key value)