Re: Re: PHP 5.1 (Or How to break tousands of apps out there)
| From: | Marcus Boerger | Date: | Fri, 25 Nov 2005 09:09:20 +0000 |
| Subject: | Re: Re: PHP 5.1 (Or How to break tousands of apps out there) | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-20345@lists.php.net to get a copy of this message | ||
Hello Lukas,
Friday, November 25, 2005, 9:41:46 AM, you wrote:
> Marcus Boerger wrote:
>> obviously one problem is that PEAR does ignore coding standards. Classes
>> should be prefixed in both pear and core. And neither Date nor File is in
>> any way prefixed. In th end all we see here is that we want namespaces asap.
> Err, how are we supposed to prefix PEAR::Date?
> PEAR_Date?
> Date_Date?
> Lala_Date?
> I guess only the first one is somewhat valid proposal.
> Anyways it makes absolute sense to use the best most clear class names
> when we add functionality currently missing in PHP. Just as well it
> makes sense for php core to do the same thing.
> The problem is just that PEAR is not part of the php development cycle.
> So whatever API we come up with is totally ignored by php core. This may
> be because the PEAR API sucks. It may also be caused by the fact that
> usually our implementation will probably be written for a previous PHP
> version.
> In a perfect world we would define an API, implement it in PEAR as a
> testbed for interest and if we find its popular and there are
> significant performance improvements to expect from an implementation in
> C we take that API and implement it in C.
> However I do not see this happening ever. So I do not see a point in
> PEAR packages claiming away nice and clear names from php core. We
> should either cooperate on the API level or just have php core superseed
> PEAR stuff.
> PEAR then goes and fixes whatever breakage occurs. What however would be
> nice is some advance notice. And where is the entry in the upgrading
> guide? Oh and for the record if there is a PEAR class by the name of
> Date you can be sure that there is a class by the name of Date as well.
> So in conclusion its needlessly messy. I am sure other projects than
> PEAR also have a Date class. Maybe we need to teach our users (including
> PEAR) that they should simply stick to prefixing everything with 3-4
> letter combinations (maybe even offer a central place to register them,
> like we should do in the PEAR channel listing -
> http://pear.php.net/channels/).
That conclusion means stay with date in ext/date and have pear learn the
lesson by making the same mistake in core. Once again the only solution is
namespacing.
Best regards,
Marcus