ID: 23684
Updated by: [EMAIL PROTECTED]
Reported By: cunha17 at uol dot com dot br
-Status: Open
+Status: Wont fix
Bug Type: Feature/Change Request
-Operating System: Linux
+Operating System: *
PHP Version: 5CVS-2003-07-28 (dev)
New Comment:
The current engine design doesn't allow this from PHP Code. However you
could create your own object handlers to accomplish that in C level.
Previous Comments:
------------------------------------------------------------------------
[2003-07-29 20:13:47] cunha17 at uol dot com dot br
>From CVS-2003-05-18 to CVS-2003-07-28:
The final keyword was added to PHP5.
The const keyword supports some basic expressions.
I know that the const keyword is evaluated at compile time, is there
another way to create a constant object? What I need to have is an
object that is read only.
------------------------------------------------------------------------
[2003-05-18 14:49:20] cunha17 at uol dot com dot br
What a work in Zend2 !!! It is getting great, but what about final
classes and object constants in class definition?
I need to do something like this:
class EnumException extends Exception{ }
final class Car {
//private
const _ferrari = 0;
const _porsche = 1;
const _corvette = 2;
//private
const _last_value = 2;
//public
const ferrari = new Car(_ferrari);
const porsche = new Car(_porsche);
const corvette = new Car(_corvette);
private $value;
protected function __construct($value) {
if (($value < 0) || ($value > _last_value)) {
throw new EnumException();
}
$this->value = $value;
}
public function value() {
return $this->value;
}
}
Everything works fine, except the "final" keyword and the "const"
initialization with an object.
I think final classes would be a good approach in assuring that a class
will not be modified(inherited).
Why can�t objects be assigned to constants ? Is there another way of
doing this in Zend2 ?
Thanx,
Cristiano Duarte
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23684&edit=1