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/wbs24.ozonapinew/ |
Upload File : |
<?php namespace Wbs24\Ozonapinew; use Bitrix\Main\Loader; class Autoload { public function __construct() { Loader::registerAutoLoadClasses( $this->getModuleId(), $this->getModuleClasses() ); } public function getModuleId() { return basename(__DIR__); } public function getModuleNamespace() { $moduleId = $this->getModuleId(); $names = explode(".", $moduleId); $namespace = ""; foreach ($names as $name) { $namespace .= "\\".ucfirst($name); } return $namespace; } public function getModuleClasses($path = "lib") { $includedNamespaces = str_replace(["lib", "/"], ["", "\\"], $path); $libPath = $path."/"; $libFiles = scandir(__DIR__."/".$libPath); $namespace = $this->getModuleNamespace(); $moduleClasses = []; foreach ($libFiles as $libName) { if (substr($libName, 0, 1) == '.') continue; if (substr($libName, -4) != ".php") { $nextLevelModuleClasses = $this->getModuleClasses($path.'/'.$libName); $moduleClasses = array_merge($moduleClasses, $nextLevelModuleClasses); } else { $class = $namespace.$includedNamespaces."\\".substr($libName, 0, -4); $moduleClasses[$class] = $libPath.$libName; } } return $moduleClasses; } } $autoload = new Autoload();