Re: Re: Enforce a constant in a class.
| From: | Richard Quadling | Date: | Fri, 22 Jan 2010 16:02:09 +0000 |
| Subject: | Re: Re: Enforce a constant in a class. | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-301348@lists.php.net to get a copy of this message | ||
2010/1/22 Pete Ford <pete@justcroft.com>:
> IMHO, a constant is not the correct beastie in this case - if you want it to
> be different depending on the implementation then it ain't a constant!
>
> You should probably have protected static variables in the interface, and
> use the implementation's constructor to set the implementation-specific
> value (or override the default)
>
> interface SetKillSwitch
> {
> protected static $isSet = TRUE;
> protected static $notes;
> protected static $date = '2010-01-22T11:23:32+0000';
> }
>
> class KilledClass implements SetKillSwitch
> {
> public function __construct()
> {
> self::$isSet = FALSE;
> self::$date = '2010-01-21T09:30:00+0000';
> self::$notes = "Test";
> }
> }
>
> Cheers
> Pete Ford
And of course, "Fatal error: Interfaces may not include member variables".
--
-----
Richard Quadling
"Standing on the shoulders of some very clever giants!"
EE : http://www.experts-exchange.com/M_248814.html
EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling