[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: реализация корзины
udaff.es
добрый день.
разбираюсь с ООП.
поэтому если вопрос глупый, прошу не обижаться smile.gif

хочу реализовать корзину (в магазине).
только вот не знаю как это правильно сделать:
сохранять объект корзины в сессии или в сессии хранить массив товаров, а на каждой странице создавать объект корзина, а в конструкторе наполнять уже данными из обычного массива(который хранится в сессии)?



Спустя 21 час, 44 минуты, 29 секунд (17.03.2010 - 18:49) udaff.es написал(а):
что за тишина?
может я чего то не правильно выразился, так спрашивайте.

Спустя 11 минут, 2 секунды (17.03.2010 - 19:00) HardWoman написал(а):
http://phpforum.ru/index.php?act=Search&CO...%F0%E7%E8%ED%E0

Всего лишь поиск по нашему форуму - будете лениться им пользоваться - ответа не дождетесь

Спустя 1 час, 10 минут, 53 секунды (17.03.2010 - 20:11) Игорь_Vasinsky написал(а):
Цитата
что за тишина?


ты бросил вопрос в толпу...ушёл на целый день, вернулся, а тебе ни кто неответил... где же справедливость

Спустя 1 день, 2 часа, 28 минут, 59 секунд (18.03.2010 - 22:40) udaff.es написал(а):
Цитата (Игорь_Vasinsky @ 17.03.2010 - 19:11)
Цитата
что за тишина?


ты бросил вопрос в толпу...ушёл на целый день, вернулся, а тебе ни кто неответил... где же справедливость

нифига се бросил и ушел???
за сутки ни одного поста не было.

по поводу поиска:
Обнаружена ошибка:

Ничего не найдено по Вашему запросу. Расширьте критерии поиска и попробуйте снова.

Спустя 7 часов, 16 минут, 59 секунд (19.03.2010 - 05:57) japanxt2 написал(а):
biggrin.gif Скажите раз, скажите два, скажите три - мы вас на**ли biggrin.gif
udaff.es не распинайся и не пытайся тут что то им объяснить доказать, они в танке, если что то не знают то обязательно дадут линк, а что за линк это тебе уже разбираться laugh.gif

Если прямо сказать, то ты должен сам обдумать и реализовать идею unsure.gif


 ! 

М
За систематическое пренебрежение к Экспертной группе и рядовым пользователям нашего форума
japanxt2 отправляется в вечный бан.
HardWoman

Спустя 49 минут, 4 секунды (19.03.2010 - 06:46) HardWoman написал(а):
udaff.es
Наберите в нашем поиске волшебное слово корзина и будет вам счастье.

Спустя 7 часов, 20 минут, 44 секунды (19.03.2010 - 14:06) udaff.es написал(а):
естественно, прежде чем спрашивать, я искал по форуму. вот только в ООП кроме моего поста ничего не выходит.
как реализовать процедурным подходом я вкурсе.
мне вот интересно как это правильно сделать в ООП.
я ж не прошу решить за меня, лишь прошу совета в алгоритме реализации.
свои мысли я уже изложил, но так как я новичек в ООП то и спросил, верно ли я думаю или есть другой вариант.

Спустя 2 часа, 42 секунды (19.03.2010 - 16:07) Игорь_Vasinsky написал(а):
japanxt2 - есть тут и танкисты , тока не я. можно было в личку отписаться, я б увидел, вообще я чаше в первой страницы PHP для начинающих

для udaff.es :

Дело в том что я тоже тока полез в ООП и сразу вылез, т.к. решил что могу и без этого прожить, пока не прижало.

А по поводу алгоритма как я его вижу:

я бы при входе пользователя, при первой его попытки купить - создавал бы новую таблицу с именем pay_id(юзера)

т.к. товар это - товар - то она бы включала в себя:

id раздела | id товара | name товара | цена | количество |

но тока кол-во я бы проверял на наличие на складе

потом по sum цена - показывал общюю стоимость

Так же не стоит забывать что юзер в любое время может отказаться от какого либо товара (значить вывод должен быть кликабельным, с возможностью посмотреть ещё раз товар, изменить его количество, удалить из корзины)

После покупки, или выходя - я бы удалял эту таблицу.

Если On-line - расчёт - значить выводить банковскую форму для оплаты с данными (типа кассового ордера),
Если интернет деньги - уточнить возможноть работы с этим у хостера

для обоих вариантов - необходимо проверять наличие оплаты

ждать перечисление денег а потом отправлять курьера - значит нужен мониторинг оплаты (подробный) - с адресом доставки и срок доставки и наличие на складе


если чё ещё в голову придёт - допишу в этом сообщении, так что контролируй момент.

Вот добавляю: когда посетитель у вас затарился - не забудте в момент затарки -сверится с наличием товара (если поставки частые - то можно и не контралировать), а после покупки - списать его из наличия на складе

В общем не чего сложного.

Спустя 1 минута, 54 секунды (19.03.2010 - 16:09) waldicom написал(а):
Цитата (Игорь_Vasinsky @ 19.03.2010 - 15:07)
если товара много - то наверное я бы при входе пользователя, при первой его попытки купить - создавал бы новую таблицу с именем pay_id(юзера)

эммм... это... того... типа... это ты серьезно?

Спустя 7 минут, 8 секунд (19.03.2010 - 16:16) Игорь_Vasinsky написал(а):
ну да.. а что резервировать и создавать таблицу при регистрации ?
или хранит в файлах txt
или в сессиях.

это все го то моё видиние вопроса, на сам деле я не знаю как это реализуется.

Спустя 2 минуты, 13 секунд (19.03.2010 - 16:18) waldicom написал(а):
Цитата (Игорь_Vasinsky @ 19.03.2010 - 15:16)
это все го то моё видиние вопроса, на сам деле я не знаю как это реализуется.

не коррелирует с
Цитата (Игорь_Vasinsky @ 19.03.2010 - 15:16)
NWSDesign - создание сайтов любой сложности

Спустя 2 минуты, 7 секунд (19.03.2010 - 16:21) Игорь_Vasinsky написал(а):
во первых чё разводить демогогию не по теме.
а во вторых там написано что ЯЯЯЯЯЯЯЯЯЯЯЯ ?
и потом работаю я за зарплату а это деньги а деньги стимул... ход мысли уловит не трудно.

по существу надо, а то вишь как, один помощи не дожидается, другой обиженный на весь белый свет.

Спустя 6 минут, 44 секунды (19.03.2010 - 16:27) waldicom написал(а):
Для автора темы: позволю себе еще раз упомянуть поиск.
Например заходим вот сюда: http://phpforum.ru/index.php?act=Search&f=
Там набираем слово "корзина" и форум вываливает кучу тем... Там наверняка можно найти "первые шаги".

Спустя 1 час, 31 секунда (19.03.2010 - 17:28) Игорь_Vasinsky написал(а):
да...выходит что оптимальный вариант использовать массив сессий вместо создания таблицы.

Спустя 36 минут, 1 секунда (19.03.2010 - 18:04) HardWoman написал(а):
Самое пустое это при попытке пользователя купить что либо на сайте, заставлять его зарегистрироваться. Я такие сайты покидаю сразу - значит не может быть и речи о ID и что создавать временные таблицы для каждого покупающего?

Остается сессия

Спустя 1 день, 3 часа, 21 минута, 35 секунд (20.03.2010 - 21:25) Игорь_Vasinsky написал(а):
Цитата
Остается сессия


да, да мы и решили на этом остановиться. Но регистрация от карзины не зависит, там готовый проект вроде.

Спустя 19 часов, 35 минут, 15 секунд (21.03.2010 - 17:01) udaff.es написал(а):
блин, дай тему для разговора smile.gif
вы упорно не желаете читать мой самый первый пост!
повторюсь: процедурным методом я прекрасно могу решить и решаю эту проблему: в сессии храню id товара и его колличество-далее на каждой странице просто строю содержание корзины на основании данного массива.

мне же интересно как это правильно реализовать на ооп: хранить также данные в сессии в массиве, а затем на каждой странице делать new Cart(array) и в конструкторе наполнять ее(при таком варианте получается что данные храняться в двух местах и надо следить чтоб они синхранизировались при наполнении или удалении товара) или же можно в сессию закидывать сразу объект Cart?

Спустя 1 день, 21 час, 13 минут, 2 секунды (23.03.2010 - 14:14) Flashed написал(а):
Практика ООП всем новичкам преподносит подобные вопросы. Как лучше представить объекты? А может быть если я сделаю так, то зайду в тупик, и не получится ОО структуры ?... Эти вопросы можно задавать себе бесконечно. Лично я делаю так: Допустим есть задача, составляем список последовательных действий для её решения. Затем берем одно из этих действий и также
разбиваем на несколькько последовательных действий и т.д. В результате с каждым шагом становится понятно, что принять за объект, а что за функцию. А
если возникает 2 или более вариантов решения задачи, то стоит выбрать тот, что будет быстрее работать.

Спустя 1 час, 12 минут, 47 секунд (23.03.2010 - 15:26) udaff.es написал(а):
в общем, пока не попробуешь-не узнаешь.

Спустя 3 часа, 45 минут, 41 секунда (23.03.2010 - 19:12) udaff.es написал(а):
я в том направлении мыслю?
вот сам класс:
<?php
class
Cart
{
private $qw = array();
private static $instance = null;

private function __construct() {}

private function __clone() {}

public function set_cart($id)
{
$this->qw[] = $id;
}

public function get_cart()
{
print_r($this->qw);
}

static function createCart()
{
if (self::$instance === null)
self::$instance = new Cart();

return self::$instance;
}
}


?>

а вот код:
<?php
include('cart.php');

session_start();
$_SESSION['cart'] = isset($_SESSION['cart']) ? $_SESSION['cart']: Cart::createCart();
$cart = &$_SESSION['cart'];

$cart->set_cart(8);
$cart->get_cart();

?>

Спустя 5 часов, 18 минут, 32 секунды (24.03.2010 - 00:31) udaff.es написал(а):
попробовал - такая тема не катит. надо что-то новое придумывать...


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.