1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Code\Generator;
- use Magento\Framework\Autoload\AutoloaderRegistry;
- /**
- * DefinedClasses class detects if a class has been defined
- */
- class DefinedClasses
- {
- /**
- * Determine if a class can be loaded without using Code\Generator\Autoloader.
- *
- * @param string $className
- * @return bool
- */
- public function isClassLoadable($className)
- {
- return $this->isClassLoadableFromMemory($className) || $this->isClassLoadableFromDisk($className);
- }
- /**
- * Determine if a class exists in memory
- *
- * @param string $className
- * @return bool
- */
- public function isClassLoadableFromMemory($className)
- {
- return class_exists($className, false) || interface_exists($className, false);
- }
- /**
- * Determine if a class exists on disk
- *
- * @param string $className
- * @return bool
- * @deprecated 102.0.0
- */
- public function isClassLoadableFromDisc($className)
- {
- return $this->isClassLoadableFromDisk($className);
- }
- /**
- * Determine if a class exists on disk
- *
- * @param string $className
- * @return bool
- */
- public function isClassLoadableFromDisk($className)
- {
- try {
- return (bool)AutoloaderRegistry::getAutoloader()->findFile($className);
- } catch (\Exception $e) {
- // Couldn't get access to the autoloader so we need to allow class_exists to call autoloader chain
- return (class_exists($className) || interface_exists($className));
- }
- }
- }
|