zoukankan      html  css  js  c++  java
  • php 魔术方法 __autoload()

    PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一个类文件中——相信这个文件一定会非常大。

    但是__autoload()方法出来了,以后就不必为此大伤脑筋了,这个类会在你实例化对象之前自动加载制定的文件。

    下边我们通过一个例子来看一下,具体的使用方法,并在稍后说明使

    ClassA.php 文件
    <?php /** * Description of ClassA * * @author timeless */ class ClassA { //put your code here public function __construct() { echo 'ClassA load success<br/>'; } }
    ClassB.php 文件
    <?php /** * Description of ClassB * * @author timeless */ class ClassB { //put your code here public function __construct() { echo 'ClassB load success<br/>'; } }
    index.php

    <?php /** * @author 赵兴壮<834916321@qq.com> * @package phpClass * @param string $classname 类名 * php 魔术方法 __autoload(); */ function __autoload($classname) { $classpath = '.'. DIRECTORY_SEPARATOR . $classname . '.php'; if (file_exists($classpath)) { require_once $classpath; } else { echo 'class file'.$classpath.'not found'; } } $newClassA=new ClassA(); $newClassB=new ClassB();
    结果:
    ClassA load success ClassB load success
  • 相关阅读:
    洛谷p1056
    __int64
    杭电2057
    4.4清北学堂Day1 主要内容:数论,数学
    递推的一点理解
    高精度减法
    高精度加法
    p1184高手之在一起
    对于rqy今天讲座的一些理解和看法吧
    PHP.21-商品信息管理
  • 原文地址:https://www.cnblogs.com/timelesszhuang/p/3963978.html
Copyright © 2011-2022 走看看