Best Atoum code snippet using autoloader.setClasses
Preloader.php
Source:Preloader.php
...90 $this->loadDevPackages = true;91 return $this;92 }93 /**94 * @param bool $setClasses95 *96 * @return array<int,string>97 */98 public function listPackagesFiles(bool $setClasses = true) : array99 {100 $result = [];101 foreach ($this->getLocator()->listFiles($this->getPackagesDir()) as $file) {102 if ( ! \str_ends_with($file, '.php')) {103 continue;104 }105 $className = $this->getLocator()->getClassName($file);106 if ( ! $className107 || ($className !== 'Aplus' && ! \str_starts_with($className, 'Framework\\'))108 ) {109 continue;110 }111 if ( ! $this->loadDevPackages && $this->isDevelopmentClass($className)) {112 continue;113 }114 if ($setClasses) {115 $this->getAutoloader()->setClass($className, $file);116 }117 $result[] = $file;118 }119 \sort($result);120 return \array_unique($result);121 }122 protected function isDevelopmentClass(string $className) : bool123 {124 return \str_starts_with($className, 'Framework\\CodingStandard\\')125 || \str_starts_with($className, 'Framework\\Testing\\');126 }127 /**128 * @param bool $setClasses129 *130 * @return array<int,string>131 */132 public function listFiles(bool $setClasses = true) : array133 {134 $result = [];135 foreach ($this->getAutoloader()->getClasses() as $file) {136 $result[] = $file;137 }138 foreach ($this->getAutoloader()->getNamespaces() as $namespace => $directories) {139 foreach ($directories as $directory) {140 $files = $this->getLocator()->listFiles($directory);141 foreach ($files as $file) {142 if ( ! \str_ends_with($file, '.php')) {143 continue;144 }145 $className = $this->getLocator()->getClassName($file);146 if ( ! $className147 || ! \str_starts_with($className, $namespace . '\\')148 ) {149 continue;150 }151 if ($setClasses) {152 $this->getAutoloader()->setClass($className, $file);153 }154 $result[] = $file;155 }156 }157 }158 if ($this->loadPackages) {159 $result = [...$result, ...$this->listPackagesFiles($setClasses)];160 }161 \sort($result);162 return \array_unique($result);163 }164 /**165 * Load files to be seen by the PHP OPcache Preloading when the engine starts.166 *167 * @return array<int,string> The loaded files168 */169 public function load() : array170 {171 $loadedFiles = [];172 foreach ($this->listFiles() as $file) {173 (static function () use ($file) : void {...
AutoloaderWithCacheFileTest.php
Source:AutoloaderWithCacheFileTest.php
...39 ];40 /* Test the fluid interface of setter method */41 $this->assertInstanceOf(42 'SimpleAutoloader\AutoloaderWithCacheFile',43 $autoload->setClasses($classes)44 );45 $this->assertSame($classes, $autoload->getClasses());46 }47 /**48 * Test setter and getter of debug level.49 *50 * @return void51 */52 public function testSetGetDebugLevelMethods()53 {54 $autoload = new AutoloaderWithCacheFile();55 $debugLevel = 1;56 /* Test the fluid interface of setter method */57 $this->assertInstanceOf(58 'SimpleAutoloader\AutoloaderWithCacheFile',59 $autoload->setDebugLevel($debugLevel)60 );61 $this->assertSame($debugLevel, $autoload->getDebugLevel());62 }63 /**64 * Test autoloader method in classic way with a class exists.65 *66 * @return void67 */68 public function testAutoloaderMethodInClassicWay()69 {70 $autoload = new AutoloaderWithCacheFile();71 $classes = [72 'ClassOfTestOne\\ClassOfTestOne' => __DIR__ . '/_files/ClassOfTestOne.php'73 ];74 $autoload->setClasses($classes)75 ->setDebugLevel(1);76 $autoload->autoloader('ClassOfTestOne\\ClassOfTestOne');77 $class = new \ClassOfTestOne\ClassOfTestOne();78 $this->assertInstanceOf('ClassOfTestOne\\ClassOfTestOne', $class);79 $this->assertSame('ClassOfTestOne\\ClassOfTestOne', $class->getName());80 }81 /**82 * Test autoloader method with a non-existent class.83 *84 * @expectedException Exception85 * @expectedExceptionMessage Class "ClassDoesntExists" not found!86 * @return void87 */88 public function testAutoloaderMethodWithANonExistentClass()89 {90 $autoload = new AutoloaderWithCacheFile();91 $classes = [92 'ClassOfTestOne' => __DIR__ . '/_files/ClassOfTestOne.php'93 ];94 $autoload->setClasses($classes)95 ->setDebugLevel(1);96 $autoload->autoloader('ClassDoesntExists');97 }98 /**99 * Test autoloader method with a non-existent file!100 *101 * @expectedException Exception102 * @expectedExceptionMessage File "_files/non-existent-file.php" not found!103 * @return void104 */105 public function testAutoloaderMethodWithANonExistentFile()106 {107 $autoload = new AutoloaderWithCacheFile();108 $classes = [109 'ClassOfTestOne' => '_files/non-existent-file.php'110 ];111 $autoload->setClasses($classes)112 ->setDebugLevel(1);113 $autoload->autoloader('ClassOfTestOne');114 }115 /**116 * Test autoloader method with a bad file (parse error)!117 *118 * @expectedException Exception119 * @expectedExceptionMessageRegExp /Parse error for "[^"]*_files\/bad-file\.php" \[syntax error, unexpected '1' \(T_LNUMBER\)\]!$/120 * @return void121 */122 public function testAutoloaderMethodWithABadFile()123 {124 $autoload = new AutoloaderWithCacheFile();125 $classes = [126 'ClassOfTestOne' => __DIR__ . '/_files/bad-file.php'127 ];128 $autoload->setClasses($classes)129 ->setDebugLevel(1);130 $autoload->autoloader('ClassOfTestOne');131 }132}...
autoloader.php
Source:autoloader.php
...6 *7 * auto load classes with $classes property8 *9 * @use Autoloader::instance(); for a get object of this class10 * @use Autoloader::instance()->setClasses(); for set array class11 * to classes property12 * @use Autoloader::instance()->classExists(); check class exists 13 * in classes property14 *15 * @author saeed johary <foreach@live.com>16 * @since 1.017 * @package autoloader18 * @copyright (c) 2014 all rights reserved19 */20class Autoloader21{22 /**23 * singleton object24 * save one object of this class25 * to this property26 *27 * @access private static28 * @var object29 */30 private static $instance = null;31 32 /**33 * autoloader classes34 * classes map , get file path with35 * this property36 *37 * @access protected38 * @var array39 */40 protected $classes = [];41 42 /**43 * initialize autoloader44 * register autoloader method45 *46 * @access public47 * @return void48 */49 public function initialize()50 { 51 spl_autoload_register([self::$instance,'registerAutoloader']);52 }53 54 /**55 * get single object from this class56 *57 * @access public static58 * @return object59 */60 public static function instance()61 {62 if(self::$instance === null)63 self::$instance = new self;64 return self::$instance;65 }66 67 /**68 * autoload classes with this method69 *70 * @param string $class , class name71 * @access public72 * @return void73 */74 public function registerAutoloader($class)75 {76 if($this->hasClass($class))77 include_once $this->getClass($class);78 else79 throw new AutoloaderException("404 not found autoloader class {$class}");80 }81 82 /**83 * set array classes to classes property84 *85 * @param array $classes , classes 86 * @access public87 * @return void88 */89 public function setClasses($classes)90 {91 if(!is_array($classes) or count($classes) <= 0)92 return;93 $this->classes = array_merge($this->classes,$classes);94 }95 96 /**97 * check class exists in classes property 98 *99 * @param string $class, class path100 * @access public101 * @return boolean102 */103 public function hasClass($class)...
setClasses
Using AI Code Generation
1require_once 'autoloader.php';2$autoloader = new autoloader();3$autoloader->setClasses(array('class1','class2','class3','class4'));4class class1{5 public function __construct(){6";7 }8}9class class2{10 public function __construct(){11";12 }13}14class class3{15 public function __construct(){16";17 }18}19class class4{20 public function __construct(){21";22 }23}24require_once 'autoloader.php';25$autoloader = new autoloader();26$autoloader->setClasses(array('class1','class2','class3','class4'));27require_once 'autoloader.php';28$autoloader = new autoloader();29$autoloader->setClasses(array('class1','class2','class3','class4'));
setClasses
Using AI Code Generation
1$autoloader = new Autoloader();2$autoloader->setClasses(array(3));4$autoloader->register();5$autoloader = new Autoloader();6$autoloader->setClasses(array(7));8$autoloader->register();9$autoloader = new Autoloader();10$autoloader->setClasses(array(11));12$autoloader->register();13$autoloader = new Autoloader();14$autoloader->setClasses(array(15));16$autoloader->register();17$autoloader = new Autoloader();18$autoloader->setClasses(array(19));20$autoloader->register();21$autoloader = new Autoloader();22$autoloader->setClasses(array(23));24$autoloader->register();25$autoloader = new Autoloader();26$autoloader->setClasses(array(27));28$autoloader->register();29$autoloader = new Autoloader();30$autoloader->setClasses(array(31));32$autoloader->register();33$autoloader = new Autoloader();34$autoloader->setClasses(array
setClasses
Using AI Code Generation
1$loader = new Autoloader();2$loader->setClasses(array(3));4$loader = new Autoloader();5$loader->setClasses(array(6));7$loader = new Autoloader();8$loader->setClasses(array(9));10$loader = new Autoloader();11$loader->setClass("Test", "test.php");12$loader->setClass("Test2", "test2.php");13$loader->setClass("Test3", "test3.php");14$loader = new Autoloader();15$loader->setClass("Test", "test.php");16$loader->setClass("Test2", "test2.php");17$loader->setClass("Test3", "test3.php");18$loader = new Autoloader();19$loader->setClass("Test", "test.php");20$loader->setClass("Test2", "test2.php");21$loader->setClass("Test3", "test3.php");
setClasses
Using AI Code Generation
1include 'Autoloader.php';2$autoload = new Autoloader();3$autoload->setClasses(array(4));5$autoload->register();6include 'Autoloader.php';7$autoload = new Autoloader();8$autoload->addClass('Class1', 'Class1.php');9$autoload->addClass('Class2', 'Class2.php');10$autoload->addClass('Class3', 'Class3.php');11$autoload->addClass('Class4', 'Class4.php');12$autoload->register();13include 'Autoloader.php';14$autoload = new Autoloader();15$autoload->addClasses(array(16));17$autoload->register();18$object1 = new Class1();19$object2 = new Class2();20$object3 = new Class3();21$object4 = new Class4();22$object1 = new Class1();23$object2 = new Class2();24$object3 = new Class3();25$object4 = new Class4();26$object1 = new Class1();27$object2 = new Class2();28$object3 = new Class3();29$object4 = new Class4();30$object1 = new Class1();31$object2 = new Class2();32$object3 = new Class3();33$object4 = new Class4();34$object1 = new Class1();35$object2 = new Class2();36$object3 = new Class3();37$object4 = new Class4();38$object1 = new Class1();39$object2 = new Class2();
setClasses
Using AI Code Generation
1require_once 'Autoloader.php';2Autoloader::setClasses('classes');3spl_autoload_register(array('Autoloader', 'autoload'));4$object = new Class1();5require_once 'Autoloader.php';6Autoloader::setClasses('classes');7spl_autoload_register(array('Autoloader', 'autoload'));8$object = new Class2();9require_once 'Autoloader.php';10Autoloader::setClasses('classes');11spl_autoload_register(array('Autoloader', 'autoload'));12$object = new Class3();13{14 public function __construct()15 {16 echo 'Class1 loaded';17 }18}19{20 public function __construct()21 {22 echo 'Class2 loaded';23 }24}25{26 public function __construct()27 {28 echo 'Class3 loaded';29 }30}31The spl_autoload_register() function
setClasses
Using AI Code Generation
1require_once('Autoloader.php');2$loader = new Autoloader();3$loader->setClasses(array('Foo', 'Bar'));4require_once('Autoloader.php');5$loader = new Autoloader();6$loader->autoload('Foo');7$loader->autoload('Bar');8require_once('Foo.php');9require_once('Bar.php');10require_once('Foo.php');11require_once('Bar.php');12$foo = new Foo();13$bar = new Bar();14$foo->doSomething();15$bar->doSomething();
setClasses
Using AI Code Generation
1include 'autoloader.php';2$autoloader = new Autoloader();3$autoloader->setClasses(array('class1', 'class2', 'class3'));4$autoloader->setPath('classes');5$autoloader->register();6$class1 = new class1();7$class2 = new class2();8$class3 = new class3();9include 'autoloader.php';10$autoloader = new Autoloader();11$autoloader->setPath('classes');12$autoloader->register();13$class1 = new class1();14$class2 = new class2();15$class3 = new class3();16{17 public function __construct()18 {19 echo 'class1 loaded';20 }21}22{23 public function __construct()24 {25 echo 'class2 loaded';26 }27}28{29 public function __construct()30 {31 echo 'class3 loaded';32 }33}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Execute automation tests with setClasses on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.
Test now for FreeGet 100 minutes of automation test minutes FREE!!