Re: [PHP] include_once() isnt!

2004-02-07 Thread Adam Bregenzer
On Tue, 2004-02-03 at 17:04, Rob wrote:
 Ive programmed with C/C++ for years and have recently started to dabble in
 PHP. Ive written a multi-part script for a friend and Ive run into a
 problem.
snip
 Heres where the problem lies. Each component is in a separate file, and when
 I run the script, I get an arror saying I cant re-define the classes.
 Which makes me believe that the include_once() function is trying to include
 the other components even though they are already included. So, does that
 mean that include_once() only works right when it is used in the same file?
 It wont recognise that an include was already included in another include?
 Have I confused you yet? I am.

This is not an answer, but it is a solution.  I don't ever rely on
include_once.  If someone else uses my include files they may not use
include_once.  Instead I use the old C/C++ trick of defines:
?php
if (!defined('SOME_INCLUDE')) {
define('SOME_INCLUDE', TRUE);
// Place code here
}
?

I use the following structure for creating unique constants to prevent
collisions:
{projectname}_{classname}( include ? _INC:)

A global class outside my projects:
_CLASS_NAME

The class FooBar in my Rule The World project:
RULE_THE_WORLD_FOO_BAR

The config include in my Rule The World project:
RULE_THE_WORLD_CONFIG_INC


-- 
Adam Bregenzer
[EMAIL PROTECTED]
http://adam.bregenzer.net/

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



[PHP] include_once() isnt!

2004-02-03 Thread Rob
Ive programmed with C/C++ for years and have recently started to dabble in
PHP. Ive written a multi-part script for a friend and Ive run into a
problem.

Ive got 14 include files 3 of which are basic components that may or may not
be used by other components. One is an authorisation class, another is a
Dbase clas (For MySQL) and another is a file system component.

Now heres the problem. My authorisation component uses the DBase component.
Some of my other components use the DBase component only some of the time
and the Auth and DBase components some of the time and the Auth component
some of the time.  SO... In the Auth component ive included (via
include_once()) the DB component, because it needs it. NOW... in other
modules Ive included (via include_once()) the auth, DB, and gallery
components.
Heres where the problem lies. Each component is in a separate file, and when
I run the script, I get an arror saying I cant re-define the classes.
Which makes me believe that the include_once() function is trying to include
the other components even though they are already included. So, does that
mean that include_once() only works right when it is used in the same file?
It wont recognise that an include was already included in another include?
Have I confused you yet? I am.

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