Re: Silly question - include vs. eval
| From: | Shawn McKenzie | Date: | Thu, 12 Mar 2009 00:50:05 +0000 |
| Subject: | Re: Silly question - include vs. eval | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-289910@lists.php.net to get a copy of this message | ||
Robert Cummings wrote:
> On Wed, 2009-03-11 at 16:16 -0500, Shawn McKenzie wrote:
>> 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 :-)
>
> You need to work on your use of verb tenses :)
>
> Cheers,
> Rob.
What? I didn't know you flamed people whose native language wasn't
English! How can we get a break on this list?
I speak Texan (sorta), and apologize for my poor English. :-(
--
Thanks!
-Shawn
http://www.spidean.com