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: 11 years ago
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
    */
?>