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

хочу реализовать корзину (в магазине).
только вот не знаю как это правильно сделать:
сохранять объект корзины в сессии или в сессии хранить массив товаров, а на каждой странице создавать объект корзина, а в конструкторе наполнять уже данными из обычного массива(который хранится в сессии)?
Спустя 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 написал(а):


udaff.es не распинайся и не пытайся тут что то им объяснить доказать, они в танке, если что то не знают то обязательно дадут линк, а что за линк это тебе уже разбираться

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

! |
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 - расчёт - значить выводить банковскую форму для оплаты с данными (типа кассового ордера),
Если интернет деньги - уточнить возможноть работы с этим у хостера
для обоих вариантов - необходимо проверять наличие оплаты
ждать перечисление денег а потом отправлять курьера - значит нужен мониторинг оплаты (подробный) - с адресом доставки и срок доставки и наличие на складе
если чё ещё в голову придёт - допишу в этом сообщении, так что контролируй момент.
Вот добавляю: когда посетитель у вас затарился - не забудте в момент затарки -сверится с наличием товара (если поставки частые - то можно и не контралировать), а после покупки - списать его из наличия на складе
В общем не чего сложного.
для 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
или в сессиях.
это все го то моё видиние вопроса, на сам деле я не знаю как это реализуется.
или хранит в файлах 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=
Там набираем слово "корзина" и форум вываливает кучу тем... Там наверняка можно найти "первые шаги".
Например заходим вот сюда: 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 написал(а):
блин, дай тему для разговора 
вы упорно не желаете читать мой самый первый пост!
повторюсь: процедурным методом я прекрасно могу решить и решаю эту проблему: в сессии храню id товара и его колличество-далее на каждой странице просто строю содержание корзины на основании данного массива.
мне же интересно как это правильно реализовать на ооп: хранить также данные в сессии в массиве, а затем на каждой странице делать new Cart(array) и в конструкторе наполнять ее(при таком варианте получается что данные храняться в двух местах и надо следить чтоб они синхранизировались при наполнении или удалении товара) или же можно в сессию закидывать сразу объект Cart?

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