Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
1

Где хранить информацию

01.12.2016, 12:50. Показов 1274. Ответов 34
Метки нет (Все метки)

Здравствуйте. Вопрос видимо избиты и нубятский. Но точного ответа на него я пока не нашел. Где лучше всего хранить такие данные как ссылки, меню, информацию из хэдера и футера. На сколько я понимаю в бд. Правильно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2016, 12:50
Ответы с готовыми решениями:

Где лучше хранить информацию
Здравствуйте уважаемые форумчане. У меня есть числовой набор данных. При нажатии на submit какое то...

Где хранить контент?
Здравсвуйте! Вопрос у меня такой возник... Допустим у нас есть сайт с множеством страниц. 10, 20,...

где безопаснее хранить пароли?
Приветствую. На данном этапе храню пароли в файле config.php. Задумался над базой mysql....

Где лучше хранить контент?
Предположим я создал сайт, который решил заполнять информацией и так далее... И всплыл вопрос, а...

34
Эксперт PHP
3630 / 3035 / 1273
Регистрация: 01.08.2012
Сообщений: 10,388
01.12.2016, 13:11 2
MadHatter, если юзеру не нужна возможность добавлять/изменять/удалять пункты меню, редактировать контакты и т.п., то можно прописывать в HTML.
0
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
01.12.2016, 13:15  [ТС] 3
Jodah, нет, не нужна. Просто некоторые вещи, такие как ссылки, могут дублироваться в шапке и футере. Не будет ли плохим тоном сделать массив с ссылками в начале страницы и из него их считывать?
0
Эксперт PHP
3630 / 3035 / 1273
Регистрация: 01.08.2012
Сообщений: 10,388
01.12.2016, 13:23 4
MadHatter, я думаю будет. Если данные повторяются - я бы тогда в БД вынес. В будущем будет проще управлять ссылками из одного места.
1
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
01.12.2016, 13:28  [ТС] 5
Jodah, спасибо большое за ответы)
0
Заблокирован
01.12.2016, 14:00 6
Все или почти все из перечисленного ТСом прекрасно себя чувствует будучи размещенным в шаблонах. Про ссылки не до конца понял. Если речь об однотипных меню, присутствующих в шапке и футере, то действительно зависит от того, должен ли иметь рядовой пользователь возможность редактировать список пунктов. Даже если это хранится в БД, то обычно отдельно кэшируется в виде HTML-кода (если разметка в точности повторяется в шапке и в футере), сериализованных данных и т.п.
0
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
01.12.2016, 14:05  [ТС] 7
Цитата Сообщение от miketomlin Посмотреть сообщение
если разметка в точности повторяется в шапке и в футере
Она не точно повторяется. Например в хэдере может быть меню содержащее пункты: о компании, о доставке, контакты. А в футере эти ссылки могут быть продублированы (не в виде меню, а, например, простым списком).
Цитата Сообщение от miketomlin Посмотреть сообщение
должен ли иметь рядовой пользователь возможность редактировать список пунктов
Нет, не должен. Это просто статичное меню.
0
Заблокирован
01.12.2016, 14:17 8
Цитата Сообщение от MadHatter Посмотреть сообщение
Она не точно повторяется. Например в хэдере может быть меню содержащее пункты: о компании, о доставке, контакты. А в футере эти ссылки могут быть продублированы (не в виде меню, а, например, простым списком).
На этот случай я продолжил перечисление. Можно кэшировать и сырые данные. Хотя нужно еще посмотреть: может, кэширования самих запросов будет достаточно.

Цитата Сообщение от MadHatter Посмотреть сообщение
Нет, не должен. Это просто статичное меню.
Тогда захардкодить в шаблоне.
0
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
01.12.2016, 14:30  [ТС] 9
Цитата Сообщение от miketomlin Посмотреть сообщение
Тогда захардкодить в шаблоне.
Но они ведь будут повторяться. В двух местах хардкодить? Наверное это не очень хорошо.
Цитата Сообщение от miketomlin Посмотреть сообщение
Можно кэшировать и сырые данные
То есть сохранить в виде переменной?
0
Заблокирован
01.12.2016, 14:59 10
Цитата Сообщение от MadHatter Посмотреть сообщение
Но они ведь будут повторяться. В двух местах хардкодить? Наверное это не очень хорошо.
Если это «вечные» пункты меню, то в этом нет ничего плохого. Если разметка полностью совпадает, можете понавтыкать традиционные readfile/include, если сильно хочется, хотя лично я бы мог и копипастом ограничиться.

Цитата Сообщение от MadHatter Посмотреть сообщение
То есть сохранить в виде переменной?
Можно, хотя сериализованные данные – это немного другое. Можно даже в чисто текстовом виде сохранять значения, если парсить его легко и недорого и вам нравится этот вариант.
1
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
01.12.2016, 15:08  [ТС] 11
miketomlin, Спасибо за ответы.
0
38 / 37 / 29
Регистрация: 02.12.2013
Сообщений: 243
01.12.2016, 20:51 12
MadHatter, а почему эту ссылку не "запихнуть" в функцию и не вызывать в нужном месте??
PHP
1
2
3
4
5
6
7
8
9
10
function my_link(){
   echo '<a href="#">LINK</a>';
}
 
echo '<div>';
my_link();
echo '</div>';
echo '<div>';
my_link();
echo '</div>';
0
Эксперт PHP
3630 / 3035 / 1273
Регистрация: 01.08.2012
Сообщений: 10,388
01.12.2016, 21:31 13
kposs, для начала - ссылок много, а не одна.
0
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
01.12.2016, 22:51  [ТС] 14
kposs, ну в данном виде это противоречит концепции MVC. Получается что нужно делать для каждой ссылки дополнительный шаблон и подключать его.
0
38 / 37 / 29
Регистрация: 02.12.2013
Сообщений: 243
02.12.2016, 21:45 15
Jodah,
А что мешает cделать так... ?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function my_links(){
   echo '<a href="#">LINK</a>';
   echo '<a href="#">LINK 2</a>';
   echo '<a href="#">LINK 3</a>';
   echo '<a href="#">LINK 4</a>';
   echo '<a href="#">LINK 5</a>';
   echo '<a href="#">LINK 6</a>';
   echo '<a href="#">LINK 7</a>';
   echo '<a href="#">LINK 8</a>';
   echo '<a href="#">LINK 9</a>';
   echo '<a href="#">LINK 100500</a>';
   echo '<a href="#">LINK 100501</a>';
   echo '<a href="#">LINK 100502</a>';
  //и еще +100500 ссылок
}
И вызывай эту функцию и в хедере и в футере
PHP
1
2
echo '<div class="header">' . my_links() . '</div>';
echo '<div class="footer">' . my_links() . '</div>';
Добавлено через 3 минуты
MadHatter, мда уж... Видимо, я что-то из ТЗ не правильно понимаю... Человеку просто нужно было одни и те же ссылки и т.д. отобразить, и в хедере, и в футере
0
Эксперт PHP
3630 / 3035 / 1273
Регистрация: 01.08.2012
Сообщений: 10,388
03.12.2016, 00:41 16
Цитата Сообщение от kposs Посмотреть сообщение
А что мешает cделать так... ?
Вот, я как раз хотел, чтобы вы развили свою идею и показали этот код. С ним проще понять суть проблемы:
Цитата Сообщение от MadHatter Посмотреть сообщение
в хэдере может быть меню содержащее пункты: о компании, о доставке, контакты. А в футере эти ссылки могут быть продублированы (не в виде меню, а, например, простым списком).
Никто не гарантирует, что html в хедере и футере будет одинаковым (подряд идущие теги <a>).

Поэтому логичней выносить только данные, и затем подставлять их в html.
0
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
03.12.2016, 01:26  [ТС] 17
kposs, проблема в том, что тут нет гибкости. Как сказал Jodah, html может немного отличаться. Например в шапке может быть двухуровневое меню, а в футере только пункты первого уровня.
0
74 / 70 / 40
Регистрация: 31.03.2014
Сообщений: 298
03.12.2016, 07:15 18
Если у вас динамические пункты меню и часто изменяющиеся данные в этих блоках, то лучше конечно управлять этим через бд
0
7 / 7 / 1
Регистрация: 02.10.2016
Сообщений: 75
Записей в блоге: 1
03.12.2016, 07:30 19
Это два разных вопроса)
Футер обчно неизменен - его в файле шаблона так и хранят.
Хидер - тоже, со вставками переменных - чтобы титл и прочие мета-теги вставлять - их из БД дергать, да.
С меню - когда-как. Если формируктся динамически из контекста - тогда через бд, а если что-то типа "Наши партнеры" - чего бы и не в файле..
В общем, по ситуации всё )
0
152 / 140 / 55
Регистрация: 15.06.2013
Сообщений: 1,031
03.12.2016, 07:46  [ТС] 20
Киберсемантика, Sombrero, все элементы не динамические. Чисто статика.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2016, 07:46

Где хранить логин и пароль пользователя
Где тру программисты хранят логины и пароли авторизованных пользователей - в куках или сессиях?

Защита от CSRF - где хранить хеши?
Хочу реализовать такую защиту. Прочитал литературу, но не много не понял: В ВК, если я хочу...

Где хранить переменные для сеанса
Добрый вечер! Я правильно понимаю, что если я хочу сохранить какие-то данные для данного сеанса...

Как и где лучше хранить Мета теги
Привет всем. Кто знает где лучше хранить мета теги в бд или в отдельном php файле. Я имею ввиду по...

Где хранить данные последнего входа на страницу
Участвую в любительском проекте по разработке браузерной игры, хочу получить некий опыт разработки...

Как добавлять в друзья и вообще где хранить данные?
Дорогие форумчане, я решил на своем сайте реализовать что то типо социальной сети. Встал вопрос о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru