<?php
/** * $RCSfile: example.PathLocator.php,v $ * @author $Author: Cornelius Bolten $ * @version $Revision: 1.2 $ * @package PathLocator * * @copyright * The Initial Developer of the Original Code is Cornelius Bolten. * Portions created by Cornelius Bolten are Copyright (C) 2004 by Cornelius Bolten. * All Rights Reserved. * Usage is free for non-commercial work. see http://www.phpclasses.org/browse/package/1528.html * for more information. * * @see * Latest releases are available at http://www.phpclasses.org/browse/package/1528.html. * For feedback, bug reports or enhancements please contact the author at * c.bolten@grafiknews.de. (icq: 74921090) * Thanks a lot! * * @required * lib.PathLocator.php by Cornelius Bolten * * here we go... */
error_reporting(E_ALL);
/** * define lib-paths that we have access to */ $libs = array( "/home/www/mydomain-com/public_html/libs/", "/usr/lib/php/" ); /** * load lib.PathLocator.php */ include_once("lib.PathLocator.php"); /** * set-up new PathLocator-Object, with libs as only param. */ $myPathLocator = new PathLocator($libs); /** * additionally we can add other libs via addLibraryPath() */ $myPathLocator->addLibraryPath("/usr/local/lib/php/");
/** * get some class-paths (no import!) * getPath() takes a second, optional parameter, "file-type-extension" * this can be "php","inc","inc.php", etc. */ echo "<b>Some tests showing only paths via getPath():</b><ul>"; echo "<li> Mail<b>.</b>RFC822: <i>".$myPathLocator->getPath("Mail.RFC822")."</i></li>"; echo "<li> Archive<b>.</b>Tar: <i>".$myPathLocator->getPath("Archive.Tar")."</i></li>"; echo "<li> phplib<b>.</b>local (inc): <i>".$myPathLocator->getPath("phplib.local","inc")."</i></li>"; echo "</ul>";
/** * try to import several classes (found in one of the PEAR paths) * import() takes a second and third, optional parameter, * "include-type" (include | require) AND * "file-type-extension" ( php | inc | inc.php | etc. ) */ $myPathLocator->import("XML.RPC.Server"); $myPathLocator->import("PEAR.Frontend.CLI"); $myPathLocator->import("PEAR.Downloader"); $myPathLocator->import("Mail.mail"); $myPathLocator->import("phplib.cart","include","inc");
/** * to see which files have been included so far * we can printout included files */
/** * using loop over ->includedClasses */ echo "<b>Show importet Files via PathLocator->includedClasses:</b><ul>"; foreach($myPathLocator->includedClasses as $iClass) { echo "<li>".$iClass."</li>"; } echo "</ul><br><br>"; /** * using global get_included_files() */ echo "<b>Show included Files via get_included_files():</b> (including all other include/require-calls of other scripts)<ul>"; foreach(get_included_files() as $iClass) { echo "<li>".$iClass."</li>"; } echo "</ul>" /** * that's it. pretty easy to use, i hope * greetings, * Cornelius */ ?>
|