Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:33183 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 63121 invoked by uid 1010); 17 Nov 2007 00:24:03 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 63106 invoked from network); 17 Nov 2007 00:24:03 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Nov 2007 00:24:03 -0000 Authentication-Results: pb1.pair.com header.from=michaelm@swplumb.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=michaelm@swplumb.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain swplumb.com from 209.181.81.165 cause and error) X-PHP-List-Original-Sender: michaelm@swplumb.com X-Host-Fingerprint: 209.181.81.165 mail.swplumb.com Windows XP Pro SP1, 2000 SP3 Received: from [209.181.81.165] ([209.181.81.165:3558] helo=swplumb.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0E/51-51194-2A43E374 for ; Fri, 16 Nov 2007 19:24:02 -0500 Received: from michael-ms-computer.local [192.168.2.66] by swplumb.com with ESMTP (SMTPD-9.22) id A33F0370; Fri, 16 Nov 2007 17:18:07 -0700 Message-ID: <473E349E.3050704@swplumb.com> Date: Fri, 16 Nov 2007 17:23:58 -0700 User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: Sam Barrow CC: internals@lists.php.net References: <8D.46.01128.768AD374@pb1.pair.com> <1195246391.21084.15.camel@sbarrow-desktop> <1195250285.4012.6.camel@johannes.nop> <1195251014.21084.20.camel@sbarrow-desktop> In-Reply-To: <1195251014.21084.20.camel@sbarrow-desktop> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] Re: Question about superglobals From: michaelm@swplumb.com (Michael McGlothlin) I think the superglobal keyword is a great idea. I have a custom class that implements a custom interface to memcache with a MySQL backend for data that drops out of memcache or is to big to be stored easily in memcache. I get annoyed at needing to include a global statement in every place I want to use memcache. > Thanks everyone, I knew this, but I didn't want to use runkit because it > is a beta, and i don't want all that other stuff, just superglobals. > Also, runkit only allows you to use php.ini, but my patch allows you to > specify superglobals in your script with the keyword "superglobal" by > saying: > > superglobal $var1, $var2 ; > > Thanks for your help though, if anyone else is interested in the patch > send me a message. > > This isn't something the developers would want to implement I assume, > but it would be useful if they would, at a very small cost too (the > patch probably under 50 lines, very simple code too). If anyone would > like the patch to be implemented in CVS, let me know. > > On Fri, 2007-11-16 at 22:58 +0100, Johannes Schlüter wrote: > >> Hi Sam, >> >> you could use pecl/runkit for registering your own super globals. See >> example 2071 on http://de3.php.net/manual/en/ref.runkit.php >> >> johannes >> >> On Fri, 2007-11-16 at 15:53 -0500, Sam Barrow wrote: >> >>> I am trying to develop a patch for personal use to enable custom >>> superglobals. >>> >>> I seemed to have had it working, but am I allowed to specify >>> superglobals in my script, or do they have to be specified in an ini >>> file or statically in the PHP code? >>> >>> I created a superglobal keyword and a function that calls >>> zend_register_auto_global upon the use of this keyword, but it doesn't >>> work. It calls zend_register_auto_global correctly and passes the >>> variable name and length of the variable name, but when i try to access >>> the variable inside a function in my PHP script, it is undefined. >>> However I am able to hard code my superglobal into the PHP source files >>> and it works. >>> >>> Is there some type of restriction on setting superglobals at runtime, or >>> does the structure of the PHP interpreter not allow this, or am I doing >>> something wrong? >>> >>> Thanks in advanced for your help. >>> > > -- Michael McGlothlin Southwest Plumbing Supply