Неизвестная запись представления данных в drupal - PullRequest
2 голосов
/ 03 декабря 2010
s:17:"thumbnail";
s:1:"1";
a:0:{}
a:9:{s:5:"title";s:2:"-5";s:10:"body_field";s:1:"0";s:20:"revision_information";s:1:"3";s:6:"author";s:1:"2";s:7:"options";s:1:"4";s:4:"menu";s:2:"-1";s:4:"path";s:1:"5";s:12:"image_attach";s:2:"-4";s:13:"path_redirect";s:1:"6";}

Как называется эта запись? Кто несет ответственность за его стандартизацию?

Ответы [ 2 ]

8 голосов
/ 03 декабря 2010

Функция PHP serialize , вызываемая внутренне drupal_write_record , отвечает за эту запись.


За строку:

  • первая часть (в данном примере "s" или "a") - это тип ("s" - строка, "a" - массив)

  • вторая часть имеет длину (однако "thumbnail" - это всего 9 символов, мне интересно, почему в нем указано s: 17, возможно, есть дополнительные пустые символы)

  • третья часть - это значение в виде строки (или как объект, если это массив или объект)

3 голосов
/ 03 декабря 2010

Точнее говоря, функция serialize фактически вызывается внутренне Drupal с помощью API схемы автоматически.Поле может быть установлено как «сериализованное», и Drupal будет внутренне обрабатывать преобразования массивов и объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...