Connecting Tech Pros Worldwide Forums | Help | Site Map

Need help with OO PHP architecture problem

comp.lang.php
Guest
 
Posts: n/a
#1: Jul 17 '05
I can't possibly reproduce the code for this as the 2 classes in
question are about 1500 lines each and condensing is in this case
impossible due to algorithmic logic dependencies.

Let's say you have a Class A and a Class B. Let's say Class A is like
this:

class A {

var $b;

function A() {
$this->b =& new B();
}

function getOtherUniqueStuff() {
return "this is other unique stuff";
}

function displayStuffFromB() {
$html = $this->b->displayStuff('isFromA');
}

}

-----------------------------------------------------------------

Basically, Class A will display stuff from a locally instantiated B
object property.

Here is class B:

class B {

function B() {}

function displayStuff($isFromA = false) {
$html = "blah blah blah blah";
if ($isFromA) {
$html .= A::getOtherUniqueStuff();
}
return $html;
}

}

------------------------------------------------------------------

Everything is fine and dandy, except in PHP 4.3.2 I get the following
error:

Fatal error use of undefined function getotheruniquestuff

The line that produces that error is:

Quote:
$html .= A::getOtherUniqueStuff();
This is why I need to get a better grip on OO PHP, I can't get past
this problem and have no solution, can someone please help?

Thanx
Phil


Henk Verhoeven
Guest
 
Posts: n/a
#2: Jul 17 '05

re: Need help with OO PHP architecture problem


Hi Phil,

phillip.s.powell wrote:[color=blue]
> I can't possibly reproduce the code for this as the 2 classes in
> question are about 1500 lines each and condensing is in this case
> impossible due to algorithmic logic dependencies.[/color]

In other words, you think architecture can not work with you code. Then
why ask for help with architecture?

Your question about the example has nothing to do with architecture.
Furthermore, I happen to have php 4.3.2 running so i tried you code, but
i do not get the error. phpInfo prints this:
PHP Version 4.3.2

System Windows NT THINKPAD 5.1 build 2600
Build Date May 28 2003 15:06:05
(...)
So i am pritty damn sure this is php 4.3.2.

I added some code to my test file to make it print some things about
what your code does. This is what i get printed by my test file (viewed
as html, then copied from the browser and pasted below here):
blah blah blah blahthis is other unique stuff
NULL

a Object
(
[b] => b Object
(
)

)

I am sorry but i can't find any problem that i can help you with.

Greetings,

Henk Verhoeven,
www.phpPeanuts.org

Here is the content of my test file:

<?php

class A {

var $b;

function A() {
$this->b =& new B();
}

function getOtherUniqueStuff() {
return "this is other unique stuff";
}

function displayStuffFromB() {
$html = $this->b->displayStuff('isFromA');
}

}

class B {

function B() {}

function displayStuff($isFromA = false) {
$html = "blah blah blah blah";
if ($isFromA) {
$html .= A::getOtherUniqueStuff();
}
return $html;
}

}


$temp = new A();
print $temp->b->displayStuff(true);
print "<BR>\n";
print getType($temp->displayStuffFromB());
print "<PRE>";
print_r($temp);
print "</PRE>";
?>
comp.lang.php
Guest
 
Posts: n/a
#3: Jul 17 '05

re: Need help with OO PHP architecture problem


Thanx anyway but I got it. I just call them both statically and that
prevented some form of overinstantiation of some kind.

Phil

Closed Thread