RE: [PHP] OOP Question in PHP
| From: | Scott Hurring | Date: | Wed, 05 Jun 2002 21:36:34 +0000 |
| Subject: | RE: [PHP] OOP Question in PHP | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-100813@lists.php.net to get a copy of this message | ||
Depends ;-)
I'd say that the second way is probably "best", becuase
it avoids implied behaviour, which sometimes can cause
problems (lets say you want to init. a document object,
but not get anything from the DB). If you want to create
a brand new Document, obviously it won't be in the DB
already, so you might not want to have the constructor
go and try to fetch it.
instead (with option #2), you could do something like:
// Create new document
$d = new Document();
// populate document
$d->save();
and
// Get existing doc
$d = new Document();
$d->get(ID);
But that's just my view... there are as many different
views on OO as there are programmers :)
---
Scott Hurring
Systems Programmer
EAC Corporation
ScottH@eac.com
Voice: 201-462-2149
Fax: 201-288-1515
> -----Original Message-----
> From: Henry Blackman [mailto:henry@cirrusinternet.com]
> Sent: Wednesday, June 05, 2002 5:33 PM
> To: php-general@lists.php.net
> Subject: [PHP] OOP Question in PHP
>
>
> Hello.
>
> I have, what is probably a silly, question.
>
> I want to convert my existing scripts to OO - because it's
> the "way to go"
> in terms of the huge amount of functionality that they now
> have (and since
> I've never done it before it would be interesting). However
> I have one
> thing that I don't understand.
>
> My scripts manipulate documents and these documents are
> stored in a MySQL
> database.
>
> To create a new object is really easy. However, since I have lots of
> documents already, how do I alter one?
>
> Do I create a new document and pass the primary key as it's a
> variable in
> the
>
> $document = new Document(number);
>
> and have the constructor retrieve the appropriate data from
> MySQL and fill
> the attribute variables.
>
> Or do I do something like:
>
> $document = new Document;
> $document ->retrieve(number);
>
> Which is the best and most "valid" way of doing things.
>
> Cheers,
> Henry
>
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>