Символы в базе

 
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
Здравствуйте, в базе данных, как правило в поле с контентом встречается такой символ "--- - >" . Хотелось бы знать для чего он нужен?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1827
"--- - >" - тут 5 символов. Вы хоть скрин сделайте где так увидели. А так это 4 сивола - и один >
Мой блог с плюшками
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
А что, это только у меня?
Спойлер
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Lora, это значение массива приведено в строковое представление, и строка записана ячейка БД. Копайте с торону arrayToYaml()
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
О'K будем копать, Loadырь, и дай бог раскопаем smile , но вопрос ещё в том, зачем это надо? Это свойство ф-ции или нужды движка?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Это скорее нужды БД, иначе как можно сохранить массив в текстовом или строковом поле и потом обратно получить из "строки" массив.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1827
Что массив данных можно было записать в БД, а потом прочитать из базы и вернуть в состояние массива используется метод модели arrayToYaml (получили то что вы увидели в базе) и обратно yamlToArray (обратно в массив)
Мой блог с плюшками
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
Посмотрел я метод модели arrayToYaml (), что бы разобраться в spyc.php моей жизни точно не хватит. Но вопрос возник. А зачем строку передавать как массив? Ведь не везде же так. Например в статьях строка, как строка, пусть она и в html и нет но это строка, или нет?
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4361
Lora, так хранятся данные в формате YAML (погуглите что это такое). Используется для того, чтобы массивы сохранить в базу данных. Наиболее наглядно используется в опциях компонентов.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1827
Lora:
моей жизни точно не хватит
не нужно тратить на это жизнь. Господа-разработчики icms потратили не мало своего несвободного времени чтобы у нас это занимало несколько секунд:
yamlToArray($item) - хоп! и в руках массив, с которым мы можем работать
arrayToYaml($item) - хоп! и yaml-представление которое мы можем отправить в базу
Lora:
зачем строку передавать как массив
если это строка то и не надо. это используется для записи массива в бд
Редактировалось: 1 раз (Последний: 1 марта 2016 в 19:29)
Мой блог с плюшками
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
Всё понятно, "если звёзды зажигают, значит это кому то нужно" smile , но тогда может подскажет кто, как избавиться от этих символов, как не пытался с помощью разных "прегов и матчей и реплейсев" что то ни как не победить. stuk
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Kreator, лучше так:
Код PHP:
  1. $item = array();
  2. $str = arrayToYaml($item); // перевод массива в формат YAML
  3. $item = yamlToArray($str); // перевод строки формата YAML в массив
smile
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Lora:
Всё понятно, "если звёзды зажигают, значит это кому то нужно"
Fuze же сказал что пример посмотрите в сохранении свойств виджетов!

Lora:
но тогда может подскажет кто, как избавиться от этих символов, как не пытался с помощью разных "прегов и матчей и реплейсев" что то ни как не победить.
А они вам чем то мешают? )) Передавайте NULL вместо пустых массивов.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1827
Lora:
как избавиться от этих символов
это не "эти" символы
если у вас запись сохраняется как YAML то и преобразуйте ее обратно, получите ее, преобразуйте массив, из массива достаньте запись.

все. волшебное зелье для чтения чужих мыслей закончилось. мы не знаем что вы там записываете, куда, откуда, как. как могли - подсказали.
Мой блог с плюшками
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
Val:

Kreator, лучше так:
Код PHP:
  1. $item = array();
  2. $str = arrayToYaml($item); // перевод массива в формат YAML
  3. $item = yamlToArray($str); // перевод строки формата YAML в массив
smile
Вот не выходит так.
На примере модуля "mod_uc_random"
Хочу добавить в вывод описание, предворительно создав поле. Заношу в админке в поле строку.
Спойлер
В запросе в mod_uc_random.php дописываю
Код PHP:
  1. $item['fieldsdata'] = cmsCore::yamlToArray($item['fieldsdata']);
В итоге получаю Aray вместо текста.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.