FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » OOP, classes and databases
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: OOP, classes and databases [message #169542 is a reply to message #169474] Fri, 17 September 2010 12:57 Go to previous messageGo to previous message
Mattias Campe is currently offline  Mattias Campe
Messages: 7
Registered: September 2010
Karma:
Junior Member
Op 14-09-10 21:22, Thomas Mlynarczyk schreef:
> Mattias Campe schrieb:
>>> public static function getById(PDO $db, $id){
>>> // ....
>>> return new Person($row['id'], $row['name'], $row['adress']);
>>> }
>>
>> How could I use this class? Because I would need to make a Person from
>> the database, but first I would need to make a "random" Person, like:
>>
>> $oPerson = new Person("000","something that will be
>> overwritten","blabla");
>>
>> $oPerson->getById($dbh,"245");
>
> No. The crucial thing here is the "static" keyword: "public STATIC
> function getById(...)" That means you don't need a Person instance to
> access it, you simply write:
>
> $oPerson = Person::getById( $dbh, '245' );
>

Owkay, now I understand. So I could use that class in two ways:

Make a Person:
$oPerson1 = new Person("010","Johan","some adress");

Get an existing Person
$oPerson2 = Person::getById($dbh, '245');



So I think I'm getting it. Or at least almost: would it have the same
effect as using 2 constructors?

public function __construct($id, $name, $address){
// ...
}
public function __construct($id, $dbh){
// ...
}

$oPerson1 = new Person("010","Johan","some adress");
$oPerson2 = new Person($dbh, '245');


Greetings
Mattias
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Best PHP way to connect to a DB across multiple pages ?
Next Topic: When do I use {}?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sun Nov 24 21:51:08 GMT 2024

Total time taken to generate the page: 0.03484 seconds