Re: Silly question - include vs. eval

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux