|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
||||||
Подключение к Бд через ООП. Написание класса корзины03.12.2012, 14:16. Показов 5006. Ответов 19
Метки нет (Все метки)
Вот небольшой пример кода, как будет использоваться подключение. Правильно ли это?
Или как вообще лучше сделать?
0
|
||||||
| 03.12.2012, 14:16 | |
|
Ответы с готовыми решениями:
19
Создание корзины PHP MVC ООП
Подключение сообственного класса через файл |
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
|
| 03.12.2012, 15:32 | |
|
а на фига корзину в БД запихивать? достаточно держать в сессии.
0
|
|
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
||||||||
| 03.12.2012, 16:05 | ||||||||
![]() http://wiki.agiledev.ru/doku.p... n_php_code наилучшее решение - впрыскивать в объект корзины инстанс класса БД. но поскольку у тебя такого нет, то делай как знаешь. Добавлено через 1 минуту
Добавлено через 1 минуту UPD: не увидел, что ты юзаешь mysqli, думал это mysql обычный. передавай в конструктор корзины $db и будет все ок.
1
|
||||||||
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
||
| 03.12.2012, 16:26 | ||
в подавляющем числе случаев покупается один товар, поэтому приличные инет магазины кроме кнопки "в корзину" имеют кнопку "купить" чтобы юзер сразу попадал на формирование заказа а не лазил по корзинам, не говоря уже о мало кому нужной регистрации.
0
|
||
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
|
| 03.12.2012, 16:34 | |
|
это вам кажется)
пользователь добавил товар, но денег купить нет или он тупо ушел покурить
0
|
|
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
||
| 03.12.2012, 16:49 | ||
если человеку надо сделать заказ и он уже сделал выбор он просто делает заказ - секунда делов. Просто у новичкоы есть веще которые они считают сакральными - ООП, MVC, корзина, админака, регистрация и т.д. На самом деле псетителям сайта большинство которых не програмисты на это начхать - им либу удоьно пользоватся сайтом либо нет. Как показывает статистика, около 40% процентов юзеров уходят на другой аналогичный сайт только потому что их регистрировтся заставляют. Если товар пропал с корзины гораздо быстрее его туда опять закинуть чем регистрироватся чтобы его вытащили с БД.
0
|
||
|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
|
| 03.12.2012, 18:45 [ТС] | |
|
Я решил, что корзина будет в БД. Мне так лучше. Причин для этого дстаточно.
0
|
|
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
||
| 03.12.2012, 18:50 | ||
|
но сессия - это не очень хорошее решение для хранения данных, которые можно хранить в БД. вероятность того, что чел вернется на сайт - высока и заново искать товар возможно не захочет и регистрация тут не нужна, достаточно кидать уникальную куку и использовать её как ID корзины захотел пользователь авторизоваться или зарегиться - берем корзину не авторизованного пользователя и вытягиваем данные, кладем в корзину авторизованного пользователя. удобно. ушел юзер - данные сохранены в корзине. а сессии это фи, мусорщик сессию удалит и плакал возможный заказ.
0
|
||
|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
|
| 03.12.2012, 18:54 [ТС] | |
|
да я решил что будет именно так. товары хранятся в БД, оттуда же формируется уникальный идентификатор товара данного юзера, наподобие номера заказа.
мне бы вот примеры работы с базой данных через ООП
0
|
|
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
||
| 03.12.2012, 18:56 | ||
|
http://wiki.agiledev.ru/doku.p... ata_mapper http://www.design-pattern.ru/p... apper.html http://habrahabr.ru/post/148701/ - что должна делать обертка над БД
1
|
||
|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
|
| 03.12.2012, 18:57 [ТС] | |
|
0
|
|
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
||||
| 03.12.2012, 19:00 | ||||
подавляющее число инет магазинов - электронные гаджеты и иже с ними а не каждодневные продукты питания. хранение в БД не помешает но смысла в таком функционале немного с учетом того что мало кто станет регистрироватся чтобы купить товар.
Добавлено через 1 минуту
0
|
||||
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
||
| 03.12.2012, 19:04 | ||
|
caballero, вы идете по принципу наименьшего сопротивления. это хорошо, но простотам в дальнейшем обернется переписыванием кода )
Добавлено через 4 минуты
хорошо про PDO написано в пункте "Многословность".
0
|
||
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
|||
| 03.12.2012, 19:15 | |||
Бритва Оккама - не создавайте сущности сверх необходимого.
0
|
|||
|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
||||||
| 03.12.2012, 23:02 [ТС] | ||||||
|
Даже не знаю, жду критики от вас. Чтобы вы изменили???
По сути написал я корзину. Потом буду модифицировать её. А так полностью рабочий код.
0
|
||||||
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
|
| 03.12.2012, 23:51 | |
|
вывод HTML через echo?
Мде...
0
|
|
| 03.12.2012, 23:56 | |
|
Не по теме: caballero, через print тоже.. :victory:
0
|
|
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
|
| 04.12.2012, 00:09 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
|
| 04.12.2012, 00:59 [ТС] | |
|
Мне не надо никакой шаблонизации, мне только форму оплаты надо вывести со списком товаров. Вообще я пишу это на друпале, просто решил создать магаз а готового решения не нашёл, т.е. модуля какой мне надо. вот просто надо было самому написать корзину для drupal. Затестил, этот код работает.
Всё нормально добавялется и удаляется. Там ещё сделаю кое какие ограничения. Ну а почему не выводят через echo? Через print проще? всегда почему то пользовался этой функцией. Лучше скажите что вам не нравится? Какие ошибки при программировании и построении класса? Как лучше бы было? Что коряво написанно и лучше изменить?
0
|
|
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|||||||
| 04.12.2012, 09:30 | |||||||
|
picusus, echo - это конструкция языка, а не функция. Также как и print. И работает он быстрее чем print, и не возвращает число. А то, что вы не хотите делать шаблонизацию - вам как раз это и говорят исправить в первую очередь, потому что смешивать php-код и html-код - плохая практика. И намного лучше будет и выглядеть, и отладка будет проще если вид будет в отдельном файле и вы его будете просто подключать. Потом, при каждом создании объекта от этого класса у вас будет создаваться новое подключение. А смысл с этого в данном коде? Я лично не вижу. Если вы используете ООП - зачем тогда использовать die()? Кидайте исключение вместо этого, о чем вам уже говорили выше.
и вообще:
Зачем использование global? Зачем внутри так "зажимать" настройки для коннекта? В общем, имхо - здесь больше просто функции, засунутые в класс, а не ООП..
0
|
|||||||
| 04.12.2012, 09:30 | |
|
Помогаю со студенческими работами здесь
20
Подключение файла через метод класса Подключение корзины с нуля
Подключение PDO в ООП Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|