Re: zend_parse_parameters

From: Date: Sat, 08 Sep 2001 10:01:03 +0000
Subject: Re: zend_parse_parameters
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-65453@lists.php.net to get a copy of this message
On 08/09/01, "Andi Gutmans" <andi@zend.com> wrote: > I do have some bad thoughts about it. I'm worried that if we supply such an > easy function to parse incoming hash table's people will start writing a > lot of PHP functions which accept hash tables instead of regular argument > lists. This is much slower and I think it's better to stay with the way > functions are written today and not change the standard. I can see your point, but, for the few cases where it is justified it reduces the readability -> maintainability of the code. > What cases do you feel this is needed and are you sure regular argument > lists aren't good enough? If you have a function that can take a lot of parameters (more than 6, say), the parameter parsing code begins to clutter up the actual function of the code. This isn't so bad, but when you are getting past 10 parameters, most of which are optional, it becomes a bit of a pain to manage and more of a pain to use from PHP user space. I know that, ideally, a functional shouldn't take so many args but in this case (creating a CSR and/or certificate) there are loads of parameters that should be able to be specified but don't need to be. The best way of handling this (IMHO) is pass in a hash as this is the nearest equivalent to passing a structure ala C. > I think when you supply an API function like this which is very easy to > use, it will start being misused quickly! It could be a secret API; lets pretend it isn't implemented and then implement it anyway; I won't tell anyone :) Seriously though - if you put comments in big enough letters in the header and source files, and any docs that use them, stating that they are much slower than the usual way of doing then we should have it covered? While I understand your concerns about the performance of PHP as a whole, surely the performance of an extension is the concern of the extension author, and perhaps they should be the one to decide if they use a fast or a slow method of writing their code. If someone misuses the API for code in the PHP CVS repository then I'm sure that the people here won't waste any time in jumping on the naughty author and revert the commit ;-) --Wez.

« previous php.dev (#65453) next »