How to use include within a function?

Posted by mahks on Stack Overflow See other posts from Stack Overflow or by mahks
Published on 2010-04-12T02:33:16Z Indexed on 2010/04/12 2:43 UTC
Read the original article Hit count: 371

Filed under:
|
|

I have a large function that I wish to load only when it is needed. So I assume using include is the way to go. But I need several support functions as well -only used in go_do_it().

If they are in the included file I get a redeclare error. See example A

If I place the support functions in an include_once it works fine, see Example B.

If I use include_once for the func_1 code, the second call fails.

-func_1 needs include

-func_2 needs include_once

Why does does include_once fail for func_1, does it get reloaded each time the function is called?

Example A:

<?php
/*  main.php    */
go_do_it();
go_do_it();
function go_do_it(){
    include 'func_1.php';
}
?>

<?php
/*  func_1.php  */
echo '<br>Doing it';
nested_func()

function nested_func(){
    echo ' in nest';
}
?>

Example B:

<?php
/*  main.php    */
go_do_it();
go_do_it();
function go_do_it(){
    include_once 'func_2.php';
    include 'func_1.php';
}
?>

<?php
/*  func_1.php  */
echo '<br> - doing it';
nested_func();
?>

<?php
/*  func_2.php  */
function nested_func(){
    echo ' in nest';
}
?>

© Stack Overflow or respective owner

Related posts about php

Related posts about function