Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23285 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 3472 invoked by uid 1010); 11 May 2006 22:49:49 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 3457 invoked from network); 11 May 2006 22:49:49 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 May 2006 22:49:49 -0000 X-PHP-List-Original-Sender: dante@vocalspace.com X-Host-Fingerprint: 69.56.193.72 fox02.stravio.com Linux 2.5 (sometimes 2.4) (4) Received: from ([69.56.193.72:50894] helo=fox02.stravio.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 44/74-19568-C8FB3644 for ; Thu, 11 May 2006 18:49:49 -0400 Received: from [127.0.0.1] (unknown [66.243.31.162]) by fox02.stravio.com (Postfix) with ESMTP id 8ED5326C32E for ; Thu, 11 May 2006 17:49:46 -0500 (CDT) Message-ID: <4463BF89.9040906@vocalspace.com> Date: Thu, 11 May 2006 17:49:45 -0500 User-Agent: Thunderbird 1.5.0.2 (Windows/20060308) MIME-Version: 1.0 To: PHPdev Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: allow extension writers to ignore E_NOTICE warnings about unset variables From: dante@vocalspace.com ("D. Dante Lorenso") All, Is there a way to define a function in an extension which would not require a passed in variable to exist? In other words, can ZE be modified to allow extensions to not trigger E_NOTICE warnings if an unset variable is passed to a function which does not care if the var is set? I can specify preferences about whether variables are passed by reference or not using macros like: * PHP_FE(..., first_arg_force_ref) * PHP_FE(..., third_arg_force_by_ref_rest) * PHP_FE(..., first_through_third_args_force_ref) Which probably boil down somewhere into: * #define ZEND_SEND_BY_VAL 0 * #define ZEND_SEND_BY_REF 1 * #define ZEND_SEND_PREFER_REF 2 And I notice that if a variable is passed by reference to an extension function, no E_NOTICE is thrown. Well, can we extend this concept further to say something like: * #define ZEND_SEND_WHO_CARES_IF_IT_EXISTS_OR_NOT 4 *but with a better name, of course* Then, extension developers can write 'ifsetor', 'coalesce', and 'filled' as extensions (by themselves) and not need those specific functions added to the 'PHP core language' per-se. Dante