@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at upstream/main 42 lines 926 B view raw
1<?php 2 3abstract class PhabricatorCacheEngineExtension extends Phobject { 4 5 final public function getExtensionKey() { 6 return $this->getPhobjectClassConstant('EXTENSIONKEY'); 7 } 8 9 abstract public function getExtensionName(); 10 11 public function discoverLinkedObjects( 12 PhabricatorCacheEngine $engine, 13 array $objects) { 14 return array(); 15 } 16 17 public function deleteCaches( 18 PhabricatorCacheEngine $engine, 19 array $objects) { 20 return null; 21 } 22 23 final public static function getAllExtensions() { 24 return id(new PhutilClassMapQuery()) 25 ->setAncestorClass(self::class) 26 ->setUniqueMethod('getExtensionKey') 27 ->execute(); 28 } 29 30 final public function selectObjects(array $objects, $class_name) { 31 $results = array(); 32 33 foreach ($objects as $phid => $object) { 34 if ($object instanceof $class_name) { 35 $results[$phid] = $object; 36 } 37 } 38 39 return $results; 40 } 41 42}