zoukankan      html  css  js  c++  java
  • PHP经验——autoload当程序实例化的类不存在时被启发

    __autoload的功能是当程序中要使用的类不存在时,该函数将被调用。

    在面向对象的程序设计中,这个函数很有用,可以使函数智能加载某些文件与类,实现文件的动态包含、类的动态引用。

    下边是一个实例:

    <?php
    function __autoload($class_name)
     {
         $class_name = str_replace('-', '', $class_name);
         $dirs = array('/plugins/'.$class_name.'/', '/includes/', '/includes/interface/', '/includes/to/', '/includes/to/device/', '/includes/os/', '/includes/mb/', '/includes/plugin/', '/includes/xml/', '/includes/web/', '/includes/error/', '/includes/js/', '/includes/output/', '/includes/ups/');
         
         foreach ($dirs as $dir) {
             if (file_exists(APP_ROOT.$dir.'class.'.$class_name.'.inc.php')) {
                 include_once APP_ROOT.$dir.'class.'.$class_name.'.inc.php';
                 return;
             }
         }
     }
     ?>

    实例中的 参数 $class_name是自动捕获的类名,可以当做函数形参。

  • 相关阅读:
    STL源码剖析:迭代器
    STL源码剖析:配置器
    [bzoj3940][Usaco2015 Feb]Censoring
    [bzoj2212][Poi2011]Tree Rotations
    [bzoj2733]永无乡&&[bzoj3545]Peaks
    挂个AC自动机
    [bzoj4237]稻草人
    莫比乌斯反演定理证明
    斜率优化dp学习
    备忘
  • 原文地址:https://www.cnblogs.com/picaso/p/2711289.html
Copyright © 2011-2022 走看看