/** * 2016-08-07 * @param array(string => mixed) $result * @return array(string => mixed) */ protected function processI(array $result) { /** @var O $entity */ $entity = df_ic($this->entityC(), O::class, $result); $entity->validate(); return $result; }
/** * 2016-07-10 * @param string $class * @param Response $r * @return self */ public static function ic($class, Response $r) { return df_ic($class, __CLASS__, [self::$P__RESPONSE => $r]); }
/** * 2015-03-23 * @see df_ic() * @param string $resultClass * @param string $expectedClass * @param array(string => mixed) $params [optional] * @param string $cacheKeySuffix [optional] * @return DataObject|object */ function df_sc($resultClass, $expectedClass, array $params = [], $cacheKeySuffix = '') { /** @var array(string => object) $cache */ static $cache; /** @var string $key */ $key = $resultClass . $cacheKeySuffix; if (!isset($cache[$key])) { $cache[$key] = df_ic($resultClass, $expectedClass, $params); } return $cache[$key]; }
/** * 2016-11-24 * 2016-11-27 * Не помечаем метод как final, потому что потомки уточняют его тип посредством phpDoc, * и тогда IntelliJ IDEA ругается на final. * @return S */ protected function s() { return dfc($this, function () { return df_ic(df_con_heir($this, S::class), [S::PREFIX => $this['dfConfigPrefix']]); }); }
/** * Обратите внимание, что этот метод нельзя называть i(), * потому что от класса Df_Core_Xml_Parser_Entity наследуются другие классы, * и у наследников спецификация метода i() другая, что приводит к сбою интерпретатора PHP: * «Strict Notice: Declaration of Df_Licensor_Model_File::i() * should be compatible with that of Df_Core_Xml_Parser_Entity::i()» * * @used-by \Df\Xml\Parser\Collection::createItem() * @used-by \Dfr\Translation\Realtime\Dictionary\Layout::i() * @static * @param X|string $e * @param string $class [optional] * @param array(string => mixed) $params * @return Entity */ public static function entity($e, $class = __CLASS__, array $params = []) { return df_ic($class, __CLASS__, [self::$P__E => $e] + $params); }