class and global

class and global

am 19.03.2005 02:07:05 von Mister Jack

Hi,

I'm trying to use a global object (declared at a upper level), but all I
got is :
Call to a member function on a non-object in
/home/pooly/public_html/templeet/modules/freedb.php on line 16

part of the code is :
$freedb =& new freedbaxs();
Function return_freedb_search($array)
{
global $freedb;
[snip]
$freedb->freedb_search($txt);

so, can I access an object allocated outside a function ? this
functionis meant to be a wrapper for that class, because I cannot access
directly.
thanks for you help,

--
Pooly ;)
http://www.w-fenec.org/

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

Re: class and global

am 19.03.2005 19:59:55 von Evert - Rooftop Solutions

pooly wrote:

> I'm trying to use a global object (declared at a upper level), but all
> I got is :
> Call to a member function on a non-object in
> /home/pooly/public_html/templeet/modules/freedb.php on line 16
>
> part of the code is :
> $freedb =& new freedbaxs();
> Function return_freedb_search($array)
> {
> global $freedb;
> [snip]
> $freedb->freedb_search($txt);
>
>
I don't see an error in this code, perhaps you should give us a bit more
information.

grt,
Evert


--
Rooftop Solutions - Web Applications on Demand
tel. (+31)628962319 fax. (+31)842242474
evert@rooftopsolutions.nl
http://www.rooftopsolutions.nl

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

Re: class and global

am 19.03.2005 20:17:02 von BAO RuiXian

Evert - Rooftop Solutions wrote:

> pooly wrote:
>
>> I'm trying to use a global object (declared at a upper level), but
>> all I got is :
>> Call to a member function on a non-object in
>> /home/pooly/public_html/templeet/modules/freedb.php on line 16
>>
Hmm, perhaps your problem is the failed connection to your database. Can
you verify this?

Best

Bao

>> part of the code is :
>> $freedb =& new freedbaxs();
>> Function return_freedb_search($array)
>> {
>> global $freedb;
>> [snip]
>> $freedb->freedb_search($txt);
>>
>>
> I don't see an error in this code, perhaps you should give us a bit
> more information.
>
> grt,
> Evert
>
>

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

Re: class and global

am 19.03.2005 20:29:57 von Mister Jack

The initialisation seems to be ok, since :

Function return_freedb_search($array)
{
global $freedb;
$freedb =& new freedbaxs();
[snip]
$freedb->freedb_search($txt); //line 16...
}

works
and also


$freedb =& new freedbaxs();
$freedb->freedb_search("ploplop");
Function return_freedb_search($array)
{
global $freedb;
[snip]
//$freedb->freedb_search($txt); //line 16...

}

those line are all in a PHP file which is include if needed, by
parsing the template file.
So the file is include (then
$freedb =& new freedbaxs();
should be executed)

and return_freedb_search is call a bit later. Everythin has always
worked fine, but this is the first time I tried with an object, and
all i got is this error. that's really strange, and I really don't
have a clue about what is going on. (is the object disapearing ? )


On Sat, 19 Mar 2005 19:59:55 +0100, Evert - Rooftop Solutions
wrote:
> pooly wrote:
>
> > I'm trying to use a global object (declared at a upper level), but all
> > I got is :
> > Call to a member function on a non-object in
> > /home/pooly/public_html/templeet/modules/freedb.php on line 16
> >
> > part of the code is :
> > $freedb =& new freedbaxs();
> > Function return_freedb_search($array)
> > {
> > global $freedb;
> > [snip]
> > $freedb->freedb_search($txt);
> >
> >
> I don't see an error in this code, perhaps you should give us a bit more
> information.
>
> grt,
> Evert
>
> --
> Rooftop Solutions - Web Applications on Demand
> tel. (+31)628962319 fax. (+31)842242474
> evert@rooftopsolutions.nl
> http://www.rooftopsolutions.nl
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

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

Re: class and global

am 19.03.2005 21:45:55 von Mister Jack

there is no database connection involved here. if I displace the
$freedb =& new freedbaxs();
inside the function it's works.

I should give a try with a dummy object. (but the constructor, only
initialize empty array)



On Sat, 19 Mar 2005 21:17:02 +0200, BAO RuiXian wrote:
>
>
> Evert - Rooftop Solutions wrote:
>
> > pooly wrote:
> >
> >> I'm trying to use a global object (declared at a upper level), but
> >> all I got is :
> >> Call to a member function on a non-object in
> >> /home/pooly/public_html/templeet/modules/freedb.php on line 16
> >>
> Hmm, perhaps your problem is the failed connection to your database. Can
> you verify this?
>
> Best
>
> Bao
>
> >> part of the code is :
> >> $freedb =& new freedbaxs();
> >> Function return_freedb_search($array)
> >> {
> >> global $freedb;
> >> [snip]
> >> $freedb->freedb_search($txt);
> >>
> >>
> > I don't see an error in this code, perhaps you should give us a bit
> > more information.
> >
> > grt,
> > Evert
> >
> >
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

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

Re: class and global

am 20.03.2005 12:37:53 von Mister Jack

Ok, I've tried with a dummy class :

class dummy {
var $yank;
Function dummy()
{
$this->yank = "test dummy";
}
}

and the problem is exactly the same.
i've done
print_r($dummy);
is works ok outside the function, but inside print_r($dummy) doesn't
return anything, like $dummy wasn't existing, even tough I declared it
to be global... So the class n itself doesn't have anything to do with
it.
I'm really stuck with this. Is there any incompatibiliy with class and
global declaration ?
btw, I'm using PHP 4.3.10-8
thanks for your help,


On Sat, 19 Mar 2005 20:45:55 +0000, Mister Jack wrote:
> there is no database connection involved here. if I displace the
> $freedb =& new freedbaxs();
> inside the function it's works.
>
> I should give a try with a dummy object. (but the constructor, only
> initialize empty array)
>
> On Sat, 19 Mar 2005 21:17:02 +0200, BAO RuiXian wrote:
> >
> >
> > Evert - Rooftop Solutions wrote:
> >
> > > pooly wrote:
> > >
> > >> I'm trying to use a global object (declared at a upper level), but
> > >> all I got is :
> > >> Call to a member function on a non-object in
> > >> /home/pooly/public_html/templeet/modules/freedb.php on line 16
> > >>
> > Hmm, perhaps your problem is the failed connection to your database. Can
> > you verify this?
> >
> > Best
> >
> > Bao
> >
> > >> part of the code is :
> > >> $freedb =& new freedbaxs();
> > >> Function return_freedb_search($array)
> > >> {
> > >> global $freedb;
> > >> [snip]
> > >> $freedb->freedb_search($txt);
> > >>
> > >>
> > > I don't see an error in this code, perhaps you should give us a bit
> > > more information.
> > >
> > > grt,
> > > Evert
> > >
> > >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>

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

Re: class and global

am 21.03.2005 21:09:20 von Mister Jack

Ok, i've found a workaround. So contrary to what is stated apparently
in the documentation I had to declara the variables explicitely
"global" to make it working and to create the object and assign
_without_ reference.

to sum up :

global $freedb;
$freedb = new freedbaxs();
function return_freedb_search($array)
{
global $freedb;
[snip]
$freedb->freedb_search($txt);
}

this is the one working.


On Sun, 20 Mar 2005 11:37:53 +0000, Mister Jack wrote:
> Ok, I've tried with a dummy class :
>
> class dummy {
> var $yank;
> Function dummy()
> {
> $this->yank = "test dummy";
> }
> }
>
> and the problem is exactly the same.
> i've done
> print_r($dummy);
> is works ok outside the function, but inside print_r($dummy) doesn't
> return anything, like $dummy wasn't existing, even tough I declared it
> to be global... So the class n itself doesn't have anything to do with
> it.
> I'm really stuck with this. Is there any incompatibiliy with class and
> global declaration ?
> btw, I'm using PHP 4.3.10-8
> thanks for your help,
>
>
> On Sat, 19 Mar 2005 20:45:55 +0000, Mister Jack wrote:
> > there is no database connection involved here. if I displace the
> > $freedb =& new freedbaxs();
> > inside the function it's works.
> >
> > I should give a try with a dummy object. (but the constructor, only
> > initialize empty array)
> >
> > On Sat, 19 Mar 2005 21:17:02 +0200, BAO RuiXian wrote:
> > >
> > >
> > > Evert - Rooftop Solutions wrote:
> > >
> > > > pooly wrote:
> > > >
> > > >> I'm trying to use a global object (declared at a upper level), but
> > > >> all I got is :
> > > >> Call to a member function on a non-object in
> > > >> /home/pooly/public_html/templeet/modules/freedb.php on line 16
> > > >>
> > > Hmm, perhaps your problem is the failed connection to your database. Can
> > > you verify this?
> > >
> > > Best
> > >
> > > Bao
> > >
> > > >> part of the code is :
> > > >> $freedb =& new freedbaxs();
> > > >> Function return_freedb_search($array)
> > > >> {
> > > >> global $freedb;
> > > >> [snip]
> > > >> $freedb->freedb_search($txt);
> > > >>
> > > >>
> > > > I don't see an error in this code, perhaps you should give us a bit
> > > > more information.
> > > >
> > > > grt,
> > > > Evert
> > > >
> > > >
> > >
> > > --
> > > PHP General Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> > >
> >
>

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