Edit report at http://bugs.php.net/bug.php?id=13892&edit=1

 ID:                 13892
 Updated by:         j...@php.net
 Reported by:        yasuo_ohgaki at yahoo dot com
 Summary:            too many number of parameters
-Status:             Open
+Status:             Wont fix
 Type:               Feature/Change Request
-Package:            Feature/Change Request
+Package:            Scripting Engine problem
 Operating System:   any
 PHP Version:        Zend Engine 2
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2001-11-05 10:44:09] cy...@php.net

I'm also unhappy with the current behavior. It's a source of hard to
find bugs, and, IMO, not a very useful feature. PHP has provisions for
handling varargs, so why not stick with them? 

------------------------------------------------------------------------
[2001-11-05 03:48:01] jmo...@php.net

I think current behaviour is fine, Module functions dont have to check
how many arguments they have, they can if they want but there are some
that dont for various reasons.



The current situation seems to work ok and there is no reason why
passing extra arguments is an error as they dont effect the running of
the program.



- James

------------------------------------------------------------------------
[2001-11-04 19:38:17] yasuo_ohgaki at yahoo dot com

I know it may break a lot of scripts that has written poorly. I'm not
suggesting to change the behavior immediately, without a ini entry or
build option. :) 



Without proper variable length parameters handling, too many parameters
for a function is obvious programming mistake. This behaviour is
inconsistent with functions defined by modules also. 



Zend is better to have option to warn, if caller called a user defined
functions with too many arguments. IMHO. 

However PHP is scripting language, adding too many features to language
is not good idea. Just a suggestion.



------------------------------------------------------------------------
[2001-11-04 16:06:36] san...@php.net

Changing this would break a lot of scripts.

And what's wrong with specifying too many parameters? If you don't use
them explicitly, they don't influence the function, so why care about
them?

------------------------------------------------------------------------
[2001-10-31 19:09:46] yasuo_ohgaki at yahoo dot com

Currently, it seems PHP is designed NOT to report errors for too many
paramaters for user defined functions.



"..." for variable length paramters. Raise error without "...", for
example.



function foo($var1, $var2, ...)



assert(count(function_get_args()) <= 3);

or like can be used to check num of paramters, but module functions
checks num of parameters. User functions are better to behave the same
way by default. IMHO.

------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=13892&edit=1

Reply via email to