<?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
*/
?>
|