Re: New zend_compile.c to solve all of the duplicate function problems
| From: | Rasmus Lerdorf | Date: | Fri, 19 Oct 2001 17:13:08 +0000 |
| Subject: | Re: New zend_compile.c to solve all of the duplicate function problems | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-68436@lists.php.net to get a copy of this message | ||
file ee:
<?
if(!defined(_FOO_INC)):
define('_FOO_INC',1);
function foo() {
echo "Hello World\n";
}
endif;
?>
file ee1:
<?
include 'ee';
include 'ee';
foo();
?>
10:11am rasmus:~> php ee1
X-Powered-By: PHP/4.0.8-dev
Content-type: text/html
<br />
<b>Fatal error</b>: Cannot redeclare foo() (previously declared in
/usr/local/home/rasmus/ee:5) in <b>/usr/local/home/rasmus/ee</b> on line
<b>4</b><br />
/usr/local/home/rasmus/ee(4) : Fatal error - Cannot redeclare foo()
(previously declared in /usr/local/home/rasmus/ee:5)
On Fri, 19 Oct 2001, Zeev Suraski wrote:
> Nope, Edin was right. It's valid in both senses.
>
> Zeev
>
> At 11:50 19-10-01, Rasmus Lerdorf wrote:
> >It is valid in the sense that the code would not be executed the second
> >time, but it isn't valid for preventing multiple function definitions
> >inside that block. ie. no conditional function definitions.
> >
> >-Rasmus
> >
> >On Fri, 19 Oct 2001, Edin Kadribasic wrote:
> >
> > > > Since you can no longer do:
> > > >
> > > > if(!defined(_FOO_INC)):
> > > > define('_FOO_INC',1);
> > > >
> > > > ...
> > > >
> > > > endif;
> > > >
> > > > to protect a file from multiple inclusion within the file itself, some
> > >
> > > This is still a valid construct. I could find nothing in the discussion
> > that
> > > would indicate otherwise. The only thing that does not work now, and it did
> > > before was:
> > >
> > > if(!defined(_FOO_INC)):
> > > define('_FOO_INC',1);
> > > return;
> > > endif;
> > > ...
> > > ...
> > >
> > >
> > >
> > >
> >
> >
> >--
> >PHP Development Mailing List <http://www.php.net/>
> >To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net
> >For additional commands, e-mail: php-dev-help@lists.php.net
> >To contact the list administrators, e-mail: php-list-admin@lists.php.net
>