<?php /** * Register basic autoloader that uses include path * * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ use Magento\Framework\Autoload\AutoloaderRegistry; use Magento\Framework\Autoload\ClassLoaderWrapper; /** * Shortcut constant for the root directory */ define('BP', dirname(__DIR__)); $vendorDir = (require BP . '/app/etc/vendor_path.php'); $vendorAutoload = BP . "/{$vendorDir}/autoload.php"; /* 'composer install' validation */ if (file_exists($vendorAutoload)) { $composerAutoloader = (include $vendorAutoload); } else { throw new \Exception('Vendor autoload is not found. Please run \'composer install\' under application root directory.'); } AutoloaderRegistry::registerAutoloader(new ClassLoaderWrapper($composerAutoloader)); // Sets default autoload mappings, may be overridden in Bootstrap::create \Magento\Framework\App\Bootstrap::populateAutoloader(BP, []);
public function testClassLoadableFromDisc() { $classOnDisc = 'Class\\That\\Exists\\On\\Disc'; /** * @var AutoloaderInterface | \PHPUnit_Framework_MockObject_MockObject $autoloaderMock */ $autoloaderMock = $this->getMock('\\Magento\\Framework\\Autoload\\AutoloaderInterface'); $autoloaderMock->expects($this->once())->method('findFile')->with($classOnDisc)->willReturn(true); AutoloaderRegistry::registerAutoloader($autoloaderMock); $this->assertTrue($this->model->isClassLoadable($classOnDisc)); }
protected function constructObjectManager() { global $autoloader; $magentoAutoloader = new Autoload\ClassLoaderWrapper($autoloader); Autoload\AutoloaderRegistry::registerAutoloader($magentoAutoloader); /* Overwrite all directories that are used by our module. A correct config path is required for a working object manager. */ $dirList = new DirectoryList($this->useRoot ? BP : $this->getVfs(), [DirectoryList::CONFIG => ["path" => BP . "/app/etc"], DirectoryList::MEDIA => ["path" => $this->getVfs() . "/media"], DirectoryList::VAR_DIR => ["path" => $this->getVfs() . "/var"], DirectoryList::CACHE => ["path" => BP . "/cache"]]); Autoload\Populator::populateMappings($magentoAutoloader, $dirList, new ComponentRegistrar()); $factory = new ObjectManagerFactory($dirList, new DriverPool(), new ConfigFilePool()); $config = [State::PARAM_MODE => State::MODE_DEVELOPER, "MAGE_CONFIG" => ["db" => ["connection" => ["default" => ["host" => "127.0.0.1", "dbname" => "magento2_test", "username" => "root", "password" => ""]]], "resource" => ["default_setup" => ["connection" => "default"]], "modules" => ["Magento_Authorization" => 1, "Magento_Backend" => 1, "Magento_Config" => 1, "Magento_Developer" => 1, "Magento_Email" => 1, "Magento_MediaStorage" => 1, "Magento_Store" => 1, "Magento_Theme" => 1, "Magento_Translation" => 1, "Magento_Ui" => 1, "Tinify_CompressImages" => 1]]]; $objectManager = $factory->create($config); return $objectManager; }