Re: Net_URL: default argument values override object properties in initialize()

From: Date: Thu, 10 May 2007 22:38:44 +0000
Subject: Re: Net_URL: default argument values override object properties in initialize()
References: 1 2  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-46725@lists.php.net to get a copy of this message
Also, since you are using PHP5, try upgrading to Net_URL2 which is the PHP5 package. On 5/10/07, Justin Patrin <papercrane@gmail.com> wrote:
On 5/10/07, spaze <spaze-bugs@exploited.cz> wrote: Hello, sorry for writing to the list, I tried to report this on the issue tracker, but after submitting I got this message on the website: | ERROR: | Critical internal error: could not send email to your address | <minehere>, please write a mail message to the <i>pear-dev</i>mailing | list and report this problem with details. We apologize for the | problem, your report will help us to fix it for future users: No such | handle found, cannot send confirmation email Anyway, I have found and fixed issue/bug with default argument values overriding object properties in initialize() in the CVS sources of Net_URL (running PHP 5.2.1 on Win32 with CVS version of Net_URL, URL.php revision 1.45.) Description: Regarding the revision 1.45 of URL.php there's a showstopper in initialize(): In __construct() you set the object properties and then call the initialize() method with no arguments:
        $this->url = $url;
        $this->useBrackets = $useBrackets;
        $this->initialize();
But initialize() is declared with default argument values: function initialize($url = null, $useBrackets = true) and later you copy the arguments into object properties:
        $this->useBrackets = $useBrackets;
        $this->url         = $url;
So the $url passed to the contructor is not taken into care and the defaults are used. Plus sometimes you refer to the function argument instead of the object property: if (!preg_match('/^[a-z0-9]+:\/\//i', $url)) { In previous revisions (i.e. stable 1.36) everything works fine. Please find attached patch against 1.46 which fixes all the problems, thanks for reviewing. Your patch didn't make it to the list. Try attaching it with a text/plain mime type (.txt extension). -- Justin Patrin -- PEAR Development Mailing List (http://pear.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- David Coallier, Founder & Software Architect, Agora Production (http://agoraproduction.com) 51.42.06.70.18

« previous php.pear.dev (#46725) next »