ООП - Обработка автоматических экземпляров класса - PHP - PullRequest
0 голосов
/ 26 марта 2010

Это тема, которая, как новичок в PHP и программировании, несколько озадачивает меня. Я создаю сайт биржи и хочу, чтобы пользователи добавляли свои акции. Я ясно вижу выгоду того, что каждая акция является экземпляром класса со всеми методами класса. То, на чем я остановился, - лучший способ дать этому экземпляру имя, когда я его создаю. Если у меня есть:

class Stock() {
   ....doing stuff.....

}

каков наилучший способ дать моим экземплярам имя. Очевидно, я могу написать:

$newStock = new Stock();
$newStock.getPrice();

или что-то еще, но если пользователь добавляет акцию через приложение, откуда может взяться название этого экземпляра? Я полагаю, что создание нового дочернего элемента с помощью $ newStock = new Stock () и последующее его сохранение в БД дает небольшой вред, что приводит меня к следующему вопросу!

Каков наилучший способ извлечения 20 пользовательских акций (например) в экземпляры класса Stock ()? Нужно ли создавать экземпляры 20 новых экземпляров класса Stock () каждый раз, когда пользователь входит в систему, или мне чего-то не хватает?

Я надеюсь, что кто-то ответит на это, и что более важно, надеюсь, что куча людей ответит на это, и это каким-то образом поможет кому-то другому, которому трудно перевернуть голову, что, вероятно, приводит к действительно изящному решению. Спасибо, парни!

Ответы [ 3 ]

1 голос
/ 26 марта 2010

Я бы предложил сделать что-то вроде:

class Stock()
{
   public var $symbol;

   public function __construct($symbol)
   {
      $this->symbol = $symbol;
   }

   public function lookup()
   {
       // do something
       return $data;
   }
}


$stock = new Stock('AAPL');
$data[] = $stock->lookup();

Так что вы можете просто $stock->symbol = 'NEWSYMBOL';, а затем $stock->lookup();

0 голосов
/ 26 марта 2010

Вы можете просто использовать массив акций. Обратите внимание, что [] означает добавление нового элемента в массив.

$stocks[] = new Stock();

Вы можете перебрать их все так:

foreach ($stocks as $stock) {
    echo $stock->lookup();
}

Вы можете получить доступ к определенной акции, как это:

$stocks[7]->display();
0 голосов
/ 26 марта 2010

Я не понимаю, почему вы не просто создадите объект Stock () и загрузите его из базы данных. Это кажется гораздо более безопасным и менее сложным для меня.

...