Posted by Tim Hunt on 08/29/06 12:58
lazypig06@gmail.com wrote:
> Hi !
>
> I'd like to ask everyone this question. I am currently maintain a
> website which have hundreds of pages and lot of subdirectories. Most of
> these pages contains a common function (let's call it "foo()" on top of
> each of these pages. I've tried to use auto prepend and .htaccess to
> prepend a file which contains an exact function foo() that is being
> used on other pages.
>
> I kept getting error "Cannot redeclare foo() in..." when I try to use
> .htaccess and auto prepend feature. I've tried to remove foo() from
> each page and use the foo() in the include file instead, but this
> process take too much time. Is there anyway that I can tell PHP to
> ignore the foo() function that is being redeclare in each page ? (I
> know that I eventually have to remove foo() in every page).
>
> Sorry for a lengthy question.
>
> Thank you in advance,
> Lazy Pig
There are at least two ways you could do this: Put the declaration of
foo() inside this if block, if( !function_exists('foo')) { .... }, so
the function is only parsed if it hasnt already been declared. Another
way is put if( defined('fufile') ) {return;} define('fufile',1); at the
top of the file foo() is declared in - it quickly exists the include'd
file when it is included a 2nd/3rd/... time.
Tim
[Back to original message]
|