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.
I am confused as to why include_once causes the function to fail on the second call, it seems to not 'see' the code the second time but if nested functions are present, it does 'see' them.
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';
}
?>