On Wed, May 30, 2007 9:54 am, Jochem Maas wrote:
> Richard Lynch wrote:
>> Maybe I'm just confused (well, I'm always confused...) but if a
>> Class
>> has multiple children, how the heck would PHP know which child:: to
>> call?...
>
> the use of the name 'child' is very confusing, I would prefer 'super'
> or 'static' ...
> regardless the concept is actually quite simple:
>
> interface DOInfo {
>       static function getTableName();
> }
>
> abstract class DataObject implements DOInfo {
>       static function findRange() {
>               $table = super::getTableName();
>               return $foo; // $foo is a collection of whatever (e.g. Product
> objects)
>       }
>
>       static function getTableName() {
>               throw new Exception('be a dear and implement '.__METHOD__.' in 
> your
> subclass'); }
>
>       }
>
> class Product extends DataObject {
>       static function getTableName() { return 'PRODS'; }
> }
>
> $products = Product::findRange();
>
> excuse me if I've just committed a grave sin against the OO Codex in
> writing something
> that either isn't 'correct' or is syntactically incorrect according to
> the current
> state of php - hopefully the idea is clear anyway.

You may think this is "quite simple" but I've skimmed it several times
and have no idea what the heck is going on...

I do know that 'super', to me, implies superclass which PHP just calls
parent:: so I don't like that either.

If it's just calling the static method of the interface parent-y
thingie, I dunno, maybe just static:: would work?

-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some indie artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to