- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте! Есть несколько вопросов, которые очень актуальные для меня.
1) Правильно подключаться к бд один раз, или в каждом методе, функции каждый раз. (и есть ли вообще разница)
2) Как сделать какой-нибудь общий класс, где будут различные функции, которые часто используются и чтобы все эти функции были доступны во всех других классах? Делать так чтобы этот класс был родителем для всех остальных?
3) На страницу подключать только те классы которые используются на данной страницы, или можно подключить сразу все классы. (их будет 20-30). Просто как я понял, подключение классов на страницы вообще не занимает почти времени для обработки.
4) При проектировании БД, какому принципу лучше придерживаться, больше таблиц но по объему меньше (меньше полей) или наоборот, лучше меньше таблиц, но по объему (полям) больше.
5) На сайте делаю личные сообщения. Личные сообщения хранятся в БД в следующих полях:
Где id - это понятн, User_one - id пользователя который написал сообщение, User_to - это id пользователя которому написали, sms - само сообщение, falies - массив с ссылками на файлы которые прикрипили к сообщению (если имеется) и prochitano - тут значение 0 или 1, 0 это сообщение не прочитано, 1 - прочитано.
Вопрос: вообще нормальная ли такая структура таблицы для личных сообщений. И допустим через пол года в БД личных сообщений будет 1 000 000, будет ли затруднительный поиск по бд через where `user_one`='234234234' AND `user_to`='254534534'?
Буду очень благодарен за ответы на данные вопросы!
Спасибо!
1. Один раз. Разница есть - на открытья соединения тратятся миллисекунды.
2. Статический класс.
3. Зачем все подключать?
4. Принципу реляционности, исходя из своей задачи с учетом расширяемости и поддержки, без избыточности данных.
5. Нормально, только с аттачами стоит еще подумать, и вот это ужасное поле prochitano переименовать. Поиск с учетом индексов будет работать быстро
А как делать соединение один раз правильно? Прописывать в статическом классе, а затем в другом классе в конструкторе соединяться или как? (хотя так если несколько классов будет, будет несколько соединений). Это немного не понятно для меня...
А что не так с аттачами, как лучше сделать?
revered, Соединение к бд делать через Singleton класс. что такое Singleton ищем в гугле
и переименовать falies в files!
2) Как сделать какой-нибудь общий класс, где будут различные функции, которые часто используются и чтобы все эти функции были доступны во всех других классах? Делать так чтобы этот класс был родителем для всех остальных?
Функции. 🍿
Посмотрите шаблоны проектирования, изучите какой нибудь фреймворк. Как вариант - пишите класс для работы с бд, обычный, доп пишите синглотон который будет инициировать и хранить подключение. Либо в каком нибудь глобальном классе, тот же синглтон Регистр создаете все глобальные ресурсы. Если взялись за ооп, проиштудируйте вопрос. Тема сама по себе обширная.
А как делать соединение один раз правильно? Прописывать в статическом классе, а затем в другом классе в конструкторе соединяться или как? (хотя так если несколько классов будет, будет несколько соединений). Это немного не понятно для меня...
А что не так с аттачами, как лучше сделать?
Лично я, использую метод для подключения к базе.
Где перед хостом указываю префикс "p:", что означает постоянное подключение (соединение удерживается даже после завершения работы скрипта). А в каждом методе, который обращается к базе, проверяю на наличие соединения.
Но можно эту проверку делать прямо в методе, а в каждом методе просто вызывать метод подключения. В этом случае, будет задействовано два обращения (к функции и к проверке) вместо одного, но визуально красивее.
siv1987 - все верно говорит, от себя хочу добавить о таблицах. Проектировать их нужно исходя из правил нормальной формы. Если будете придерживаться "Третья нормальная форма" все будет гуд.
@new mysqli
двойной ужос ужос
Погуглите singleton + mvc для развития
А потом изучайте Yii
А потом изучайте Yii
здесь можно долго холиварить;)