Some changes in the Config package
| From: | Bertrand Mansion | Date: | Fri, 22 Nov 2002 17:55:14 +0000 |
| Subject: | Some changes in the Config package | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-11010@lists.php.net to get a copy of this message | ||
Hi,
Here are the changes I plan to make for the next release of Config. This is
some kind of a reminder for me not to forget what I am thinking about right
now as I won't have the time to do it before next month...
The Config_Container class should not be subclassed as it is now.
Config_Container_Apache should not subclass Config_Container. This was an
adaptation from the previous package version but now, I think it's the wrong
design.
In fact, we just need the toString() method. I plan to adapt it to a
separate function instead of a class method. So the file
/Config/Container/apache.php will still exist and contain this function.
The parser methods will extend the Config object. Actually, this is more
logical as the Config object parses the file only once, I don't see why this
method would be needed by a Container object.
On the other hand, we still need a toString() method in the Container object
in case one want to get the Container as a formatted string. But this time,
it will call the toString() function from the outside. I think it will call
something like toString($this) and return the result.
This move will allow to treat the Container as a simple tree that could be
shared among different Config objects. This way, one would be able to parse
an .ini file and write it as a PHP array or anything else by passing its
root container to another Config object.
I don't know yet how I will implement this. I wonder if object aggregation
could help ?
Do you know since which version aggregation exists in PHP and if it is
compiled by default on all platforms ?
Thanks,
Bertrand Mansion
Mamasam