php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #3403 duplicate loading of include files
Submitted: 2000-02-04 09:42 UTC Modified: 2000-07-28 02:02 UTC
From: terado at hotmail dot com Assigned:
Status: Closed Package: Other
PHP Version: 3.0.14 OS: All
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: terado at hotmail dot com
New email:
PHP Version: OS:

 

 [2000-02-04 09:42 UTC] terado at hotmail dot com
This probably is not strictly a bug but is certainly something that does not follow normal programming methods and so is important.

When you include or require a file there is no logical way to prevent duplicate loading.  So for example if there are three files as:

//File 1 - file1.php3
include "imp.inc";
testimp();
include "file2.inc";

//File 2 - file2.inc
include "imp.inc";
testimp();

//File 3 - imp.inc
function testimp(){
    print "hello\n";
}

This will not work, also using require.  I would either expect that I could put something like #ifndef to prevent reinclusion or I would expect this to infact be the difference that require would play.

It is also a real pain to get around this problem.

Hope this is clear, and relevant.

Thanks, Nick

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-07-28 02:02 UTC] hholzgra@php.net
on php4 you have include_once() and require_once()

for php3 you can do:

---8<----- filename.inc -----------------
if(! $included_filename){
... whatever code you want, including function definitions ...
}
$included_filename=true;
--------------------->8-----
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Oct 18 02:01:27 2024 UTC