zoukankan      html  css  js  c++  java
  • 一个php类 Autoloader

    php autoloader:

    This is a class for PHP that keeps the user from having to manually include classes by automatically including them on-the-fly as needed.

    This simple autoloader class is easy-to-use and features caching so it does not have to scan the file system for a given class more than once (unless the file is moved).

    Installation

    Simply include the class and configure it in your top-level/application config:

    <?php
    require(APP_PATH . 'classes/Autoloader.class.php');
    Autoloader::setCacheFilePath(APP_PATH . 'tmp/class_path_cache.txt');
    Autoloader::excludeFolderNamesMatchingRegex('/^CVS|..*$/');
    Autoloader::setClassPaths(array(
        APP_PATH . 'classes/',
        APP_PATH . 'models/'
    ));
    spl_autoload_register(array('Autoloader', 'loadClass'));

    The above example assumes there is an APP_PATH constant that points to the root of the application where you might have a classes and tmp directory, among other things.

    How It Works

    It scans all paths recursively, in the order in which they were given until the class is found. The class is loaded, and the path to the class is saved to the cache file. Next time the class ised, the process starts over for needed, its path is pulled directly from the cache file. If the class was moved or the cache file was remov that class.

    By default, it looks for files with exact name as the class with the suffix .class.php. For example, ifMyClassName is requested, it looks for MyClassName.class.php. The suffix can be changed by callingsetClassFileSuffix():

    Autoloader::setClassFileSuffix('-my_suffix.php');
    

     

  • 相关阅读:
    Git 基础笔记整理1
    学习开源中国客户端
    IOS项目中的细节处理,如更改状态栏等等
    网络编程
    当FileWriter没有flush的时候,不写入文件
    批量移动文件
    批量重命名文件
    替换一个文件内的某个字符
    遍历map和删除map中的一个entry
    ArrayList的遍历-转载
  • 原文地址:https://www.cnblogs.com/youxin/p/3949457.html
Copyright © 2011-2022 走看看