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]

Reply via email to