Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/forum/lib/internals/ |
Upload File : |
<?php namespace Bitrix\Forum\Internals; use \Bitrix\Main; trait EntityFabric { protected static $repo = []; /** * @param int $id * @return static */ public static function getById($id) { if (!array_key_exists(__CLASS__, self::$repo)) { self::$repo[__CLASS__] = []; } $id = intval($id); if (!array_key_exists($id, self::$repo[__CLASS__])) { try { self::$repo[__CLASS__][$id] = new static($id); } catch (Main\ObjectNotFoundException $exception) { return null; } } return self::$repo[__CLASS__][$id]; } public function destroy() { if (array_key_exists(__CLASS__, self::$repo)) { foreach (self::$repo[__CLASS__] as $key => $object) { if ($object === $this) { unset(self::$repo[__CLASS__][$key]); // AddMessage2Log("Object: ".__CLASS__." $key were destroyed."); return; } } } } /** * @param static|int $object * @return static */ public static function getInstance($object) { if ($object instanceof static) { return $object; } return static::getById($object); } }