]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Rearrange Memcached_DataObject::staticGet() to avoid "only variables can be passed...
authorBrion Vibber <brion@status.net>
Wed, 6 Jan 2010 21:23:39 +0000 (13:23 -0800)
committerBrion Vibber <brion@status.net>
Wed, 6 Jan 2010 21:35:13 +0000 (13:35 -0800)
(We need to keep it returning a reference because the extlib parent class is stuck in PHP 4-land and uses references everywhere, including this function's return value. Yuck!)

Also changed pkeyGet to drop the reference, since it doesn't have an upstream equivalent.

classes/Memcached_DataObject.php

index d11bd636823a18c8c4b598353ba57cc0316df890..04f75b775c7c0ac9df106634ac946a39931058d6 100644 (file)
@@ -90,17 +90,16 @@ class Memcached_DataObject extends DB_DataObject
             unset($i);
         }
         $i = Memcached_DataObject::getcached($cls, $k, $v);
-        if ($i !== false) { // false == cache miss
-            return $i;
-        } else {
+        if ($i === false) { // false == cache miss
             $i = DB_DataObject::factory($cls);
             if (empty($i)) {
-                return false;
+                $i = false;
+                return $i;
             }
             $result = $i->get($k, $v);
             if ($result) {
+                // Hit!
                 $i->encache();
-                return $i;
             } else {
                 // save the fact that no such row exists
                 $c = self::memcache();
@@ -108,12 +107,16 @@ class Memcached_DataObject extends DB_DataObject
                     $ck = self::cachekey($cls, $k, $v);
                     $c->set($ck, null);
                 }
-                return false;
+                $i = false;
             }
         }
+        return $i;
     }
 
-    function &pkeyGet($cls, $kv)
+    /**
+     * @fixme Should this return false on lookup fail to match staticGet?
+     */
+    function pkeyGet($cls, $kv)
     {
         $i = Memcached_DataObject::multicache($cls, $kv);
         if ($i !== false) { // false == cache miss