Shawn McKenzie wrote:
> Robert Cummings wrote:
>> On Wed, 2009-03-11 at 13:20 -0500, Shawn McKenzie wrote:
>>> Robert Cummings wrote:
>>>> On Wed, 2009-03-11 at 12:19 -0500, Shawn McKenzie wrote:
>>>>> Sándor Tamás (HostWare Kft . ) wrote:
>>>>>> Yes, Rob is right. My original question is about the difference between
>>>>>> the processing of a file-based site with include() OR eval(). In that
>>>>>> case, if I understood it correctly, the results are the same.
>>>>>> But! If the included pages contain functions, classes, etc. With eval(),
>>>>>> can I use them? With include(), I know I should be able to use them. But
>>>>>> in some mysterious cases I don't have access to a function. If I cut out
>>>>>> from the included file, and put in on the file which includes that, just
>>>>>> before (or after) the includ(), I don't have any problem with it.
>>>>>> The next step, that if I include a file in a function, can I use the
>>>>>> functions wrote in the included file?
>>>>>> As I know, include just makes a copy-paste, so if I use it IN a
>>>>>> function, then all function will be in function scope, am I right?
>>>>> Yes, if you use an include inside a function, then any functions / non
>>>>> global vars in the included file will only be available inside the
>>>>> including function.
>>>> This is NOT, I repeat, NOT true for functions. Functions are ALWAYS
>>>> global.
>>>> Cheers,
>>>> Rob.
>>> Yes, I was too hasty.  The nested function will only be defined once the
>>> nesting function has been called.  Then it will be available globally.
>> Actually, you're wrong again. The nested function, AKA function defined
>> in the included source, will be defined as soon as the source is
>> included and is available to the function in which the source was
>> included. In fact it is even available to the code within the included
>> source that can be run during the include process and before the
>> function performing the inclusion regains control.
>> Cheers,
>> Rob.
> Well I used the word defined, however what I meant was the included
> function would only be available globally after the including function
> has been called.  But yes, it will be available to the including function.

Actually, which would mean that the including function had been called
if it was attempting to use any of the vars/functions in the included
file :-)


PHP General Mailing List (
To unsubscribe, visit:

Reply via email to