Re: Re: RFC::Error Handling Guidelines for PHP5 packages
| From: | Hans Lellelid | Date: | Tue, 24 Aug 2004 22:22:18 +0000 |
| Subject: | Re: Re: RFC::Error Handling Guidelines for PHP5 packages | ||
| References: | 1 2 3 4 5 6 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-32923@lists.php.net to get a copy of this message | ||
Klaus Guenther wrote:
Hans L wrote:Yes, I think the central difference then between people like myself is that we think upgrading to PHP5-only packages justifies the major work. PHP5 introduces major new features; can't expect to be able to use those & keep BC. For your PHP4 application, you can always keep using PHP4 packages ... But with Davey's proposal you cripple PHP5 applications by making them PHP4-compliant. I don't see that as a winning solution at all. Why would anyone even contribute PHP5 packages, in that case? There has to be something different and better about PHP5 to make it worth upgrading. There is: exceptions. -HansJoshua Eichorn wrote:Yes, but... once PEAR packages have been migrated, it will require a redesign of _all_ applications that depend on it. If Greg's solution would be used, it would require minimal changes to applications depending on the package. If the package would be fully migrated to exceptions, it would be a _major_ headache to update a complex application.Yes, I wasn't talking about migrating apps; I was talking about migrating PHP4-only PEAR packages for use in my PHP5-only applications. Migrating complex n-tier applications certainly requires application redesign. Migrating single-layer PEAR packages generally does not.For serious PHP5 web applications, I just don't see legacy integration as a huge concern, given that migration is generally fairly quick & easy, and certainly I wouldn't want to have to have both PEAR_Exception and PEAR_Error being used in my app.You must not be in the process of migrating a serious app then. Changing use of pear_error or whatever your php4 solution was to exceptions takes lots of redesign, coding and testing.