Login   Register  
PHP Classes
elePHPant
Icontem

File: example.PathLocator.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Cornelius Bolten  >  Class Path Locator  >  example.PathLocator.php  >  Download  
File: example.PathLocator.php
Role: Example script
Content type: text/plain
Description: example-script, read carefully
Class: Class Path Locator
Locate and include a file from a path list
Author: By
Last change:
Date: 2004-03-09 02:50
Size: 2,936 bytes
 

Contents

Class file image Download
<?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
    */
?>