Re: Solution for writing a function layer between pecl-memcache and PHP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you very much Nathan.

You mean I should change the the method from public to static?
Is that right? I hope I was getting you right.

I now juggled around abit with the code, and as it happens most
of the time, in case I invoke the XML object, that the file
given was not read right.

When i invoke the object, just outside of the site::memcache()
function like

$xml_data = new xml_mm('/path/to/xml_file/xml_file.xml');

and put a 

echo "<pre>";
print_r($xml_data);
echo "</pre>";

inbetween the output is correct.

But when I do a

site::memcache($memcache_pointer, $xml_data);
or a
$file_path = '/path/to/xml_file/xml_file.xml';
site::memcache($memcache_pointer, new xml_mm($file_path));

and do a

$xml_data = site::memcache($memcache_pointer);

The output is, file_not_found: /path/to/xml_file/xml_file.xml

Thats the main problem.

Am Freitag, den 27.07.2007, 14:38 -0400 schrieb Nathan Nobbe:
> judging by the method invocation you have shown
> 
> site::memcache($pointername, $dataset);
> 
> that indicates site is a class and memecahce is a method defined in site,
> which is being invoked statically in this case.
> and in the definition of memecache you showed, the definition does not have
> the static keyword, therefore you
> should not be invoking it from a static context.
> from the documentation on the static keyword
> Calling non-static methods statically generates an E_STRICT level warning.
> 
> its not a solution to your problem but it is a point on proper style.
> 
> -nathan
> 
> On 7/27/07, Sascha Braun - CEO @ Braun Networks <sascha@xxxxxxxxxxxxxxxxxx>
> wrote:
> >
> > Hi dear Sancar,
> >
> > you seem really the best man in place as what I see in the mailing
> > list :)) Thats really lovely I would like to say.
> >
> > Now lets come to the solution I need:
> >
> > public function memcache($pointer, $data="", $compress="", $timeout="0")
> > // store or load data from the memcache
> > {
> > if (MEMCACHE_SUPPORT == 'true') {
> > $memcached_port = $_SESSION['memcache_port'];
> > if (empty($memcached_port)) { $memcached_port = '99999'; }
> > $memcache = memcache_connect('localhost', $memcached_port);
> > if ($memcache) {
> > $memcache_pointer = PROJECT.$pointer;
> > $cache = $memcache -> get($memcache_pointer);
> > if (!$cache) {
> > $memcache->set($memcache_pointer,$data);
> > $cache = $memcache -> get($memcache_pointer);
> > }
> > return $cache;
> > }
> > }
> > }
> >
> > This is the Funktion I use to load and write data to the memcache
> > a write or restore looks like this here site::memcache('pointer',$data);
> >
> > This is working in many cases pretty fine.
> >
> > Now I have a codepart, where the 'pointer' is getting created dynamical-
> > ly. Which means I do fx. a $content_id.'_'.$translation instead of wri-
> > ting a simple 'pointer' as first parameter to the above function.
> >
> > When I now call my XML Parser, to store data in memcache, and try to
> > recall, the data short after, it says:
> >
> > File not found: This file somewhere in the suburbs.
> >
> > But when I try to output the XML Object before the data is written to
> > the cache, everything goes terribly fine.
> >
> > Now I figured out, that when I use static naming for the memcache data
> > pointer 'pointer' everything goes fine.
> >
> > When I use the memcache directly, which means, I call the
> > $memcache->set() and $memcache->get() function from where I store data
> > everything goes fine again, even with dynamically created, variables.
> >
> > But as soon as I use my function layer, call a to
> > site::memcache($pointername,$dataset); only  returnes bullshit.
> >
> > Mh, this makes me a little bit sad.
> >
> > Maybe somebody or even you, can help me :))
> >
> > Best Regards, and a baba Respect from Germany, Dear Sancar!
> >
> > Sascha
> >
> > --
> > 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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux