<?php
/* * EXAMPLE FILE FOR THE PTCHANDYMAN CLASS */ require_once( '../PtcHm.php' ); // require the component /* ADDING APPLICATION PATHS FOR LATER USAGE */ PtcHandyMan::addAppPath( array ( 'lib' => dirname( __FILE__ ) . '/autoloader-example-files' // creating an entry in the application paths array ) );
/* ADDING CLASS FILES */ PtcHandyMan::addFiles( array ( 'HmTestClassFile' => PtcHandyMan::getAppPath( 'lib' ) . '/class-file.php' , // adding a file to the autoloader 'ns\HmTestClassFile' => PtcHandyMan::getAppPath( 'lib' ) . '/ns-class-file.php' , // adding a namespaced file ) ); /* REGISTER THE AUTOLOADER */ PtcHandyMan::register( ); // we need to register the autoloader before we start calling classes /* LOAD CLASSES */ echo '<b>AUTOLOADING CLASSES ADDED WITH "addFiles( )" METHOD:</b><br><br>'; $class1 = new HmTestClassFile( ); // loading a preset class file $lowercase = new ns\HmTestClassFile( ); // loading a namespaced class
/* ADDING DIRECTORIES WITH CLASSES TO THE AUTOLOADER */ PtcHandyMan::addDir( PtcHandyMan::getAppPath( 'lib' ) ); // adding the previously created path /* LOAD CLASSES IN DIRECTORY */ echo '<br><b>AUTOLOADING CLASSES ADDED WITH "addDirs( )" METHOD:</b><br><br>'; $class1 = new HmTestClass( ); // loading a class from the directory $lowercase = new HmTestClassLs( ); // loading a class with the filename lowercase /* ADDING A NAMESPACED DIRECTORY WITH CLASSES TO THE AUTOLOADER */ PtcHandyMan::addDir( array ( 'nsTest' => PtcHandyMan::getAppPath( 'lib' ) . '/namespaceTest' // adding a namespaced directory )); /* LOAD NAMESPACED CLASSES IN DIRECTORY */ echo '<br><b>AUTOLOADING NAMESPACED CLASSES ADDED WITH "addDirs( )" METHOD:</b><br><br>'; $class_ns = new nsTest\HmTestNs( ); // loading a namespaced class $class_ns_deep = new nsTest\hmNsDeep\HmTestNsDeep( ); // loading a namespaced class inside a subfolder
/* LOAD CLASSES BASED ON SEPARATORS AND NAMING CONVENTIONS (LOADS SLOWER) */ echo '<br><b>AUTOLOADING CLASSES BASED ON SEPARATORS AND NAMING CONVENTIONS:</b><br><br>'; PtcHandyMan::addDir( PtcHandyMan::getAppPath( 'lib' ) . '/test-separators' ); // adding the directory PtcHandyMan::addSeparator( '-' ); // adding a separator for class names PtcHandyMan::addConvention( '{CLASS}' ); // adding a naming convention ( {CLASS} , {SEP} ) $sep_class=new Hm_Test_Sep( ); // loads by replacing the "_" with "-" added separator in the class name PtcHandyMan::addConvention( 'class.{CLASS}' ); // adding another naming convention $sep_class1 = new Hm_Test_Sep1( ); // loads by replacing the "_" with "-" added separator in the class name /* GETTING THE DIRECTORIES OF THE AUTOLOADER */ $dirs = PtcHandyMan::getDirs( ); // getting all directories ( files , directories , ns )
|