• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/internals/engine/binder.php
  • Класс: BitrixDiskInternalsEngineBinder
  • Вызов: Binder::registerDefaultAutoWirings
static function registerDefaultAutoWirings()
{
	static::registerParameterDependsOnName(
		BitrixDiskBitrix24DiskTmpFile::class,
		function($className, $token) {
			/** @var BitrixDiskBitrix24DiskTmpFile $className */
			$filter = [
				'=TOKEN' => (string)$token
			];
			$userId = CurrentUser::get()->getId();
			if ($userId)
			{
				$filter['CREATED_BY'] = $userId;
			}

			return $className::load($filter);
		}
	);

	static::registerParameterDependsOnName(
		TypeTypedCollection::class,
		static function($className, $id) {
			/** @var TypeTypedCollection $className */
			return $className::createByIds(...$id);
		},
		static fn(ReflectionParameter $parameter) => $parameter->getName()
	);

	static::registerParameterDependsOnName(
		BitrixDiskInternalsModel::class,
		function($className, $id) {
			if (is_numeric($id) && $id <= 0)
			{
				return null;
			}

			/** @var BitrixDiskInternalsModel $className */
			return $className::getById($id);
		}
	);
}