> On Wed, Jan 12, 2005 at 10:16:43AM +0100, Pierre Habouzit wrote: > > Le Mer 12 Janvier 2005 01:31, Matthew Palmer a ?crit : > > > So you patch libfile2.php to require_once 'mylib/libfile1.php' > > > instead of just 'libfile1.php'. > > > > oh and btw, the suggestion I did is better (IMHO) : > > > > replace require_once 'libfile.php'; with > > > > require dirname(__FILE__).'/'.'libfile1.php'; > > > > because you are robust to _any_ mess done by the user with the > > include_path (for a zero cost). You even not assume that > > /usr/share/php is in the include_path. > > But it has two giant downsides: > > 1) It's ugly as all hell; and > > 2) Once people start getting into that habit, they forget all about > other libraries, and where they might be, and start complaining > bitterly and/or bundling other peoples' libraries into their > libraries, which creates a mess. > > There's also the issue of how to get to the library in the first > place from your application -- you then either need to hard-code the > path somewhere in your app (which, if you do, I *will* beat you with > a stick) or you're back to needing the include_path, which means that > all of your dirname() magic isn't needed anyway. > > Oh, another useful tidbit -- file namespaces are useful. > library/libfile1.php isn't very likely to conflict with another > library/libfile1.php that someone wants to install, whereas > libfile1.php could very well conflict.
well I agree it's not _that_ perfect. It's only that from a packager POV I find it more safe. I've looked at PEAR's ways. and it does not use such mechanism. only the namespace trick. Well, I think it's the coder choice then ... -- ·O· Pierre Habouzit ··O OOO http://www.madism.org
pgpRMMMUug9tJ.pgp
Description: PGP signature