关于PHP的自动加载

来源:互联网 发布:熊猫采集软件体验 编辑:程序博客网 时间:2024/06/07 01:03

PHP可以通过自动加载的方式帮助我们加载文件


假设目录结构如下:

test (工程名称)

   --app

         --QueryPhone.php

  index.php


■不使用自动加载时

QueryPhone.php

<?phpclass QueryPhone {public static function query() {echo 'query phone';}}?>


index.php

<?phprequire_once 'app/QueryPhone.php';QueryPhone::query();?>


为了使用QueryPhone中的函数,需要在文件头部通过require_once引入需要的文件。如果依赖多个文件,则要引入多个。


■使用自动加载

假设目录结构如下:

test (工程名称)

   --app

         --QueryPhone.php

  index.php

  autoload.php  (为了使用自动加载,新追加的文件)


QueryPhone.php(追加了命名空间)

<?phpnamespace app;class QueryPhone {public static function query() {echo 'query phone';}}?>

index.php(只引入autoload.php就可以了,以后即使再追加其他的依赖,仅此一个也够了)

<?phprequire_once 'autoload.php';app\QueryPhone::query();?>

autoload.php

<?phpclass autoload {public static function load($className) {$fileName = sprintf('%s.php', str_replace('\\', '/', $className));if (is_file($fileName)) {require_once $fileName;}}}spl_autoload_register(['autoload', 'load']);?>





0 0