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 #169546 is a reply to message #169543] Fri, 17 September 2010 13:22 Go to previous messageGo to previous message
Mattias Campe is currently offline  Mattias Campe
Messages: 7
Registered: September 2010
Karma:
Junior Member
Op 17-09-10 14:59, "Álvaro G. Vicario" schreef:
> El 17/09/2010 14:57, Mattias Campe escribió/wrote:
>> 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');
>
> I'm not sure about what you mean exactly but in PHP you cannot have more
> than one constructor. What I suggested is just a way to kind of separate
> DB logic from application logic.
>

I was wondering if "my" way and your way had the same effect, but "my"
way seems to be impossible in PHP. In my search for more information I
stumbled across this site [1] which refers to the static way of working,
just like you taught me.

[1] http://alfonsojimenez.com/php/multiple-constructors-in-php/



Thank you for the help!
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: Fri Sep 27 23:30:47 GMT 2024

Total time taken to generate the page: 0.04681 seconds