Reply to Re: Global class instances mysteriously set to NULL

Your name:

Reply:


Posted by Greg Beaver on 01/09/05 23:03

James wrote:
> I'm struggling to narrow this down, and am chasing my tail to figure
> this out. I apologise for the imprecise nature.
>
> PHP: 4.3.2 (latest RHEL 3 version; php-4.3.2-19.ent.src.rpm)
> OS: Linux kernel 2.4.21-15.0.3.EL
> Distro: RHEL 3, all updates
>
> I have an app that defines two global class instances, one for the
> database connection, the other for handling user authentication. The
> first is instantiated in uDatabase.php the other in uAuthenticate.php.
>
> In building a page, there are several files that call require_once with
> one or the other file, e.g.
>
> require_once 'uAuthenticate.php';
>
> Which creates an a global instance of a class defined in another file,
> performs some checks, &c.
>
> I'm using require_once with the understanding that once this file has
> been included, that any subsequent require_once call to the same file
> will be ignored.
>
> My problem is that it appreas that in some cases require_once destroys
> the instance, i.e. var_dump($Auth); or var_dump($Database) displays NULL.
>
> I'm currently trying to determine rhyme or reason for the problem, but
> haven't found any pattern. It comes and goes depending on which file
> first calls require_once and the order, but makes no sense.
>
> ANY ideas apreciated. :-)

Since you are using relative includes (require_once 'uAuthenticate.php';)

You must make sure that there is only *1* uAuthenticate.php file being
included. To verify that this is the case, try this code at the end of
the main file:

<?php
var_dump(get_included_files());
?>

If you switch the ordering of inclusion and get a different listing,
there's your answer.

Greg

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация