/** * @see df_sc() * @param string $resultClass * @param string|null|array(string => mixed) $a2 [optional] * @param array(string => mixed) $a3 [optional] * @return DataObject|object */ function df_ic($resultClass, $a2 = null, array $a3 = []) { /** @var string|null $expectedClass */ /** @var array(string => mixed) $params */ list($expectedClass, $params) = is_array($a2) ? [null, $a2] : [$a2, $a3]; return df_ar(df_create($resultClass, $params), $expectedClass); }
/** * 2016-07-18 * @return Method */ private function paymentMethod() { return dfc($this, function () { return df_ar($this->payment()->getMethodInstance(), Method::class); }); }
/** * 2016-11-12 * @override * @see \Df\Payment\ConfigProvider::s() * @return S */ protected function s() { return dfc($this, function () { return df_ar(parent::s(), S::class); }); }
/** * 2016-11-17 * @param T|int|null $t * @param bool $throw [optional] * @return T */ function df_trans($t = null, $throw = true) { /** @var T|int|null $result */ $result = is_null($t) ? df_trans_current() : ($t instanceof T ? $t : df_trans_r()->get($t)); return !$throw ? $result : df_ar($result, T::class); }
/** * 2016-11-25 * Возвращает имя класса с тем же суффиксом, что и $def, * но из папки того же модуля, которому принадлежит класс $c. * Результат должен быть наследником класса $def. * Если класс не найден, то возвращается $def. * Параметр $throw этой функции не нужен, потому что параметр $def обязателен. * * Пример: * $c => \Dfe\FacebookLogin\Button * $def = \Df\Sso\Settings\Button * Результат: «Dfe\FacebookLogin\Settings\Button» * * @used-by \Df\Sso\Button::s() * * @param object|string $c * @param string $def * @return string|null */ function df_con_heir($c, $def) { return df_ar(df_con(df_module_name($c, '\\'), df_class_suffix($def), $def), $def); }