Re: include_once() and require_once() in function



Jamie Furness wrote:
Andrew G. Koptyaev wrote:
Is I can use include_once() or require_once() in function or only include()?


If you use include_once the file will only be included the first time the function is called, if you use include it will be included each time the function is called. (require and require_once follow the same principle obviously.)

You need to consider what is in the file you are including, and what scope it should have. For example:

If the file you include sets some variables and you use include_once, the second time you call the function the file will not be included again, though the variables won't be already defined because their scope was only within the function.

However if the file you include defines a function and you use include, the second time you call the function you will get an error trying to redefine the function since it has global scope.

Generally, the only times I use require or include as opposed to require_once or include_once, is when I specifically want that include to appear more than once in the script. For example, I might have files with month, day, and year. If, on my form I have start date and end date, then I would be using each of these twice.

Otherwise, I use the _once form to avoid things like double declarations.
.



Relevant Pages

  • Re: $valPHPPath already declared error when I use this block
    ... second time; it doesn't exist obviously within the scope of the proc ... since [info exists valPHPPath] is false. ...
    (comp.lang.tcl)
  • Re: Best budget computerized telescope is?
    ... You might want to try get getting your scope repaired under the guarentee. ... >> the ETX Premier Series and dealers may be ... > second time in a year - I am less than convinced. ...
    (sci.astro.amateur)
  • Re: include_once() and require_once() in function
    ... Andrew G. Koptyaev wrote: ... If the file you include sets some variables and you use include_once, the second time you call the function the file will not be included again, though the variables won't be already defined because their scope was only within the function. ...
    (comp.lang.php)
  • Re: Variable / Method Ambiguity
    ... because there's no such variable in scope. ... The second time through ... the loop, there's no assignment to a, and the first variable a has ... an assignment, is the method a. ...
    (comp.lang.ruby)
  • Re: c99/c++ localised variable definition
    ... When variables are used only in a limited scope I find it better to ... Forcing variable declarations to the top of the function means extra ... > reason why things like ancillary counter variables seem reasonable, ... you can combine the decl and the initialization. ...
    (freebsd-arch)