Ejemplo n.º 1
0
/**
 * @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);
}
Ejemplo n.º 2
0
 /**
  * 2016-07-18
  * @return Method
  */
 private function paymentMethod()
 {
     return dfc($this, function () {
         return df_ar($this->payment()->getMethodInstance(), Method::class);
     });
 }
Ejemplo n.º 3
0
 /**
  * 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);
     });
 }
Ejemplo n.º 4
0
/**
 * 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);
}
Ejemplo n.º 5
0
/**
 * 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);
}