|  | 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 ?
  Navigation: [Reply to this message] |