You are here: Re: php nesting classes « PHP Programming Language « IT news, forums, messages
Re: php nesting classes

Posted by Jerry Stuckle on 04/22/07 14:13

christophe.gosiau@gmail.com wrote:
> On 22 apr, 04:43, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>> christophe.gos...@gmail.com wrote:
>>> Hi everybody,
>>> I have the following problem:
>>> For an application, I made 2 classes: Order and Ticket
>>> In the Order object I store an array with Ticket objects.
>>> so far so good, now I needed the Order object inside the Ticket class.
>>> So I stored a copy of the Order object inside the Ticket class.
>>> This is what we got until now:
>>> class Order {
>>> pubic tickets = array()
>>> }
>>> class Ticket {
>>> public Order = null
>>> }
>>> For both classes I made static methods: get_by_id()
>>> Now my question: What happens if i do: Ticket::get_by_id(5);
>>> A Ticket object will be created. Inside this Ticket object, an Order
>>> object will be created with the Order::get_by_id($this->orderid)
>>> method.
>>> This Order object will fill his $tickets array wilt the
>>> Ticket::get_by_id($ticketid) method.
>>> Those tickets will create new Order objects...
>>> So there will be a loop.
>>> How will php handle this?
>>> If this causes an error, is there another solution to fix this
>>> problem?
>>> Christophe
>> Christophe,
>>
>> *WHY* do you need a both a list of tickets in orders and an order in ticket?
>>
>> Either an order has tickets, or a ticket has orders. But can you
>> explain how both are true?
>>
>> --
>> ==================
>> Remove the "x" from my email address
>> Jerry Stuckle
>> JDS Computer Training Corp.
>> jstuck...@attglobal.net
>> ==================
>
>
> Hi Jerry,
>
> My original plan was to to so store Tickets in an array in the Order
> object.
> But, a ticket needs to be printed (render to pdf). To do that, I need
> to know which name I have to print on it (object Customer) and the
> event where it is for (object Event).
> Both Customer and Event are also stored inside the Order class.
> That is the only reason why I need the Order object inside the Ticket
> class.
>
>
Top posting fixed

OK, but right now I'm not sure what a "Ticket" is, and what an "Order"
is. Does the order have tickets?

One thing is clear, though - the ticket does not have an order. It uses
information from the order, so should reference the order. But it
should not keep a copy of the order.

And since the Order object itself has Ticket objects, perhaps the you
need an Order::MakeTicket method to create the Ticket object and fill in
the information (including a reference to itself).

Another option here would be to not keep the Order reference in the
Ticket. Rather, since you're storing the Ticket list in the Order
class, have an Order::PrintTicket method. Let the Order class print its
info and the Ticket class print it's info. This way you don't need to
keep even a reference to the Order object in the Ticket object.

But you should never keep a copy of something in your program. What
happens if you change the original, for instance?

P.S. Please don't top post. Thanks.


--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация