zoukankan      html  css  js  c++  java
  • __autoload自动加载函数

    function __autoload($name) {
    	echo $name.'\n';
    	if('test1' == $name) {
    		class test1 extends test implements iTemplate {
    			
    			protected static $_instance = null;
    
    			public static function getInstance()
    			{
    				if (null === self::$_instance) {
    					self::$_instance = new self();
    				}
    				
    				return self::$_instance;
    			}
    			public function parse_name($name,$type=0) {
    				if($type) {
    					return ucfirst(preg_replace("/_([a-zA-Z])/e", "strtoupper('\\1')", $name));
    				} else {
    					$name = preg_replace("/[A-Z]/", "_\\0", $name);
    					return strtolower(trim($name, "_"));
    				}
    			}
    		}
    	} elseif('test' == $name) {
    		class test {}
    	} elseif('iTemplate' == $name) {
    		interface iTemplate {}
    	}
    }
    
    $test1 = test1::getInstance();
    echo ucfirst($test1->parse_name('user_type', 1));

    输出

    test1

    test

    iTemplate

    自定义__autoload函数

    函数

    function my_autoload($c) {
    	echo $c;
    	class Bla {} // Usually "include 'path/to/file.php';"
    }
    
    spl_autoload_register('my_autoload');
    
    $Bla = new Bla();
     

    类方法

    <?php
    * 你可以用静态方法
    class MyClass {
      public static function autoload($className) {
        // ...
      }
    }
    
    spl_autoload_register(array('MyClass', 'autoload'));
    ?>
    
    * 也可以用实例
    <?php
    class MyClass {
      public function autoload($className) {
        // ...
      }
    }
    
    $instance = new MyClass();
    spl_autoload_register(array($instance, 'autoload'));
    ?>
  • 相关阅读:
    数据表管理admin
    HDU 5057
    HDU 5056
    HDU 6035(树形dp)
    CodeForces 586D
    Codeforces 940D
    CodeForces 820C
    TOJ4114(活用树状数组)
    2017CCPC中南地区赛 H题(最长路)
    CodeForces 544C (Writing Code)(dp,完全背包)
  • 原文地址:https://www.cnblogs.com/phpfans/p/2159870.html
Copyright © 2011-2022 走看看