RE: [PEAR-DEV] solution for BC breakage
| From: | Daniel Khan | Date: | Tue, 16 Sep 2003 15:45:17 +0000 |
| Subject: | RE: [PEAR-DEV] solution for BC breakage | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-21579@lists.php.net to get a copy of this message | ||
Hello,
I just want to add my 2 cents.
My idea is ment as addition to a propper version tree and maybe it's total
crap but I have it in mind for some
weeks and I just want to share it - so please don't shoot me :)
API changes cause problems for developers of other PEAR packages and also
for user which infact have the packages
in production use.
If I now create a 2.0 version of DB_NestedSet I could not install it on my
production servers as many projects depend on the old API.
So we definately have to find a slot like system which is capable of
handling several versions of one package.
With a new class tree we will run into the problem of having to migrate the
whole PEAR tree into a new hierarchy keeping
it possible that projects including a class will still work.
IIRR there where some ideas having dummy files which reflect the 'old' PEAR
structure.
O.K. we may have to do something like that but maybe we should think of a
way to avoid such problems in future.
If I designed PEAR from scratch I would try to abstract the directory
structure.
Why don't we implement a class loader method like
PEAR::load($packageName [, $version])
This loader knows about PEAR's internal structure and so no user will ever
have to know where a package is located in the filesystem.
Crap?
Regards
Daniel Khan