Heim > Backend-Entwicklung > PHP-Tutorial > PHP之自动加载

PHP之自动加载

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-07-29 09:02:17
Original
963 Leute haben es durchsucht

类的自动加载

在外面的页面中,并不需要去引入类文件,但程序会在需要一个类的时候自动去“动态加载”该类。

  • 创建一个对象的时候new
  • 直接使用一个类名(操作静态属性与方法)

使用__autoload魔术函数
当出现两种情况时候,就会调用该函数,该函数需要我们预先定义,在其中写好加载类文件的通用语句

<code><span><span>function</span><span>__autoload</span><span>(<span>$name</span>)</span>{</span><span>require</span><span>'./lib/'</span>.<span>$name</span>.<span>'.class.php'</span>;
}</code>
Nach dem Login kopieren

使用spl_autoload_register()
用它注册(声明)多个可以代替__autoload()作用的函数,自然也得去定义这些函数,并且函数的作用跟__autoload()作用一样,不过此时可以应对更多的情形

<code><span>//注册用于自动加载的函数</span>
spl_autoload_register(<span>"model"</span>);
spl_autoload_register(<span>"controll"</span>);
<span>//分别定义两个函数</span><span><span>function</span><span>model</span><span>(<span>$name</span>)</span>{</span><span>$file</span> = <span>'./model/'</span>.<span>$name</span>.<span>'.class.php'</span>;
    <span>if</span>(file_exists(<span>$file</span>)){
        <span>require</span><span>'./model/'</span>.<span>$name</span>.<span>'.class.php'</span>;
    }
}
<span>//如果需要一个类,但当前页面还没加载该类</span><span>//就会依次调用model()和controll(),直到找到该类文件加载,否则就报错</span><span><span>function</span><span>controll</span><span>(<span>$name</span>)</span>{</span><span>$file</span> = <span>'./controll/'</span>.<span>$name</span>.<span>'.class.php'</span>;
    <span>if</span>(file_exists(<span>$file</span>)){
        <span>require</span><span>'./controll/'</span>.<span>$name</span>.<span>'.class.php'</span>;
    }
}</code>
Nach dem Login kopieren
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了PHP之自动加载,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage