This code:

$ less test.php
<?php

echo phpversion();

echo "<br />";

include "include.php";
include "include.php";

test();

?>

$ less include.php
<?php

if(defined("INCLUDE")) return;

define("INCLUDE", 1);

function test(){
  echo "test";
}

?>

With 4.0.6 I get:

4.0.6
test

With 4.1 RC3 I get:

4.1.0RC3<br /><br>
<b>Fatal error</b>:  Cannot redeclare test() in
<b>/home/brian/public_html/include.php</b> on line <b>9</b><br>

with CVS I get:

4.2.0-dev<br /><br />
<b>Fatal error</b>:  Cannot redeclare test() (previously declared in
/home/brian/public_html/include.php:8) in
<b>/home/brian/public_html/include.php</b> on line <b>9</b><br />


Andi, Zeev, I thought we were going to back out that change?

Brian.

----- Original Message -----
From: "Andi Gutmans" <[EMAIL PROTECTED]>
To: "Brian Moon" <[EMAIL PROTECTED]>; "Markus Fischer"
<[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Wednesday, November 28, 2001 2:23 PM
Subject: Re: [PHP-DEV] BC problem


| Yep. As far as I remember it was reverted in 4.1.0
|
| Andi
|
| At 01:54 PM 11/28/2001 -0600, Brian Moon wrote:
| >This has already been discussed at great length in another thread.  I
| >believe it was decided to put it all back like it was for now and decide
on
| >a better solution later.
| >
| >Brian.
| >
| >----- Original Message -----
| >From: "Markus Fischer" <[EMAIL PROTECTED]>
| >To: <[EMAIL PROTECTED]>
| >Sent: Wednesday, November 28, 2001 11:05 AM
| >Subject: [PHP-DEV] BC problem
| >
| >
| > >     A small example which shows that BC seems to be broken for a
| > >     certain (but not uncommon) case:
| > >
| > >     cat include_me.php
| > >     <?
| > >         if (!defined('I_AM_INCLUDED')) {
| > >                 define('I_AM_INCLUDED', 1);
| > >         } else {
| > >                 echo "returning<br>\n";
| > >                 return;
| > >         }
| > >
| > >         function cant_be_redefined() {
| > >         }
| > >     ?>
| > >
| > >     cat include_it.php
| > >     <?
| > >         echo "1<br>\n";
| > >         include 'include_me.php';
| > >         echo "2<br>\n";
| > >         include 'include_me.php';
| > >         echo "3<br>\n";
| > >     ?>
| > >
| > >     Now run include_it.php (it doesn't matter if its CGI or
| > >     module):
| > >
| > >     On PHP 4.0.4pl1 up to 4.0.6 this gives:
| > >     1<br>
| > >     2<br>
| > >     returning<br>
| > >     3<br>
| > >
| > >     But now I get:
| > >     1<br>
| > >     2<br>
| > >     <br />
| > >     Fatal error - Cannot redeclare cant_be_redefined()
| > >     (previously declared in include_me.php:9)
| > >
| > >     [I shortened the error message to be more readable]
| > >
| > >
| > >     If this is 'now the way it is' this should be mentioned
| > >     somewhere very clearly I think. Doesn't seem to be fixable in
| > >     some way? Couldn't find a reference to it e.g. in the NEWS
| > >     file.
| > >
| > >
| > >     I know that there should be used include_once() but
| > >     I'm talking about existing code writing that way which
| > >     definitely won't work without modifications.
| > >
| > >     - Markus
| > >
| > >     ps: thanks to Jan for verifying this!
| > >
| > > --
| > > Please always Cc to me when replying to me on the lists.
| > >
| > > --
| > > PHP Development Mailing List <http://www.php.net/>
| > > To unsubscribe, e-mail: [EMAIL PROTECTED]
| > > For additional commands, e-mail: [EMAIL PROTECTED]
| > > To contact the list administrators, e-mail:
[EMAIL PROTECTED]
| > >
| > >
| > >
| >
| >
| >--
| >PHP Development Mailing List <http://www.php.net/>
| >To unsubscribe, e-mail: [EMAIL PROTECTED]
| >For additional commands, e-mail: [EMAIL PROTECTED]
| >To contact the list administrators, e-mail: [EMAIL PROTECTED]
|
|
|


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to