|
Posted by charliefortune on 08/01/07 17:26
On 1 Aug, 17:30, ZeldorBlat <zeldorb...@gmail.com> wrote:
> On Aug 1, 12:19 pm, charliefortune <goo...@charliefortune.com> wrote:
>
>
>
> > On 1 Aug, 17:16, Rik <luiheidsgoe...@hotmail.com> wrote:
>
> > > On Wed, 01 Aug 2007 18:04:14 +0200, charliefortune
>
> > > <goo...@charliefortune.com> wrote:
> > > > I have been including local .php files in a script succesfully for a
> > > > while. But now I want it to be a remote include i.e.
>
> > > > include ("http://myserver.co.uk/includes/classLib.php");
>
> > > > and I get
>
> > > > Cannot instantiate non-existent class:
>
> > > > I know the path is correct because if I include simply a line of text
> > > > to echo then it works fine. Are there any issues with variable scope
> > > > when including remote classes please ? My class definition is simply
>
> > > > class AdminLib {
> > > > blah blah;
> > > > blah;
> > > > blah;
> > > > }
>
> > > > do I have to declare it global or anything ? Thanks.
>
> > > If the include works fine (no allow_url_fopen or the remote include
> > > thingy): don't forget they need to start & end with php opening & closing
> > > tags... Else it's 'just content'.
>
> > > Class definitions have no scope, allthough PHP6 might have support for
> > > namespaces.
> > > --
> > > Rik Wasmus
>
> > The include is wrapped in <?php ?> tags so that's not the problem. I
> > don't know about the allow_url_fopen stuff. Is there an fread
> > alternative I could do to read the file and eval() it perhaps, just to
> > get it working ?
>
> When you do a remote include like that the you usually don't get the
> actual code back since the remote server is typically configured to
> run it through PHP before sending the output. Suppose your remote
> file has this in it:
>
> <?php
> class Foo {
>
> }
>
> ?>
>
> If you request that file in your browser what do you get? You get
> nothing since that script has no output. So, when you do the include,
> he doesn't get any output either.
>
> Remember: when you request a PHP file through a webserver you don't
> actually get the PHP code back -- you get the output of the PHP script
> back.
When I go to the url, I get nothing because, like you say, the script
doesn't produce anything, it is just a single class definition, and is
being parsed before being returned.
So how does one go about reusing class definitions from remote
sources please ?
[Back to original message]
|