Re: Silly question - include vs. eval
| From: | Shawn McKenzie | Date: | Wed, 11 Mar 2009 18:20:27 +0000 |
| Subject: | Re: Silly question - include vs. eval | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.general php.general |
| Request: | Send a blank email to php-general+get-289885@lists.php.net to get a copy of this message | ||
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.
--
Thanks!
-Shawn
http://www.spidean.com