一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php自動加載autoload機制示例分享

1,自定義函數

2,spl_autoload_register()

復制代碼 代碼如下:
liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ ll ./*
-rw-rw-r-- 1 liuyuan liuyuan  800 Feb 19 11:39 ./func_autoload.php
-rw-rw-r-- 1 liuyuan liuyuan  906 Feb 19 11:28 ./spl_autoload.php

./include:
total 16
drwxrwxr-x 2 liuyuan liuyuan 4096 Feb 19 11:42 ./
drwxrwxr-x 3 liuyuan liuyuan 4096 Feb 19 11:43 ../
-rw-rw-r-- 1 liuyuan liuyuan  142 Feb 19 11:42 aClass.php
-rw-rw-r-- 1 liuyuan liuyuan  143 Feb 19 11:42 bClass.php

首先看自定義函數方式:

復制代碼 代碼如下:
<?php
    define('EOL', (php_SAPI == 'cli') ? php_EOL : '</ br>');
    print_r(get_included_files());
    echo EOL;
    print get_include_path();
    echo EOL;
    //set_include_path(get_include_path().PATH_SEPARATOR.'/var/www/ly_php/php_spl/include/');
    //set_include_path(dirname(__FILE__).'/include');
    //set_include_path(dirname(__FILE__).'/include/');

    function __autoload($className){
        $filename = './include/'.$className.'.php';
        //$filename = './include/'.$className.'.php';
        //$filename = '/var/www/ly_php/php_spl/include/'.$className.'.php';
        if(file_exists($filename)){
            include_once $filename;
        }else{
            exit('no file');
        }
    }

    $a = new aClass();
    $b = new bClass();
    print_r(get_included_files());
?>

運行結果如下:

復制代碼 代碼如下:
liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php func_autoload.php
Array
(
    [0] => /var/www/phpgcs/php_autoload/func_autoload.php
)

.:/usr/share/php:/usr/share/pear
aClass is loaded
bClass is loaded
Array
(
    [0] => /var/www/phpgcs/php_autoload/func_autoload.php
    [1] => /var/www/phpgcs/php_autoload/include/aClass.php
    [2] => /var/www/phpgcs/php_autoload/include/bClass.php
)

第二種方式:

復制代碼 代碼如下:
<?php
    class myLoader{
        public static function autoload($className){
            $filename = './include/'.$className.'.php';
            if(file_exists($filename)){
                include_once $filename;
            }else{
                exit('no file');
            }
        }
    }

    define('EOL', (php_SAPI == 'cli') ? php_EOL : '<br />');

    spl_autoload_register(array('myLoader', 'autoload'));

    /**
    *__autoload 方法在 spl_autoload_register 后會失效,因為 autoload_func 函數指針已指向 spl_autoload 方法
    * 可以通過下面的方法來把 _autoload 方法加入 autoload_functions list
    */
    //spl_autoload_register( '__autoload' );

 
    error_reporting(E_ALL^E_NOTICE^E_WARNING^E_ERROR);
    error_reporting(E_NOTICE | E_WARNING );

    $a = new aClass();
    print_r(get_included_files());
    echo EOL;
    $b = new bClass();
    echo EOL;
?>

運行結果如下:

復制代碼 代碼如下:
liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php spl_autoload.php
aClass is loaded
Array
(
    [0] => /var/www/phpgcs/php_autoload/spl_autoload.php
    [1] => /var/www/phpgcs/php_autoload/include/aClass.php
)

bClass is loaded

php技術php自動加載autoload機制示例分享,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产拍拍拍 | 亚洲欧美一区二区久久 | 视频一二三区 | 欧美中文字幕一区二区三区 | 亚洲综合激情小说 | 91精品久久久久亚洲国产 | 夜夜操伊人 | 中日韩一线二线 | 久久亭亭 | 国产桃色在线成免费视频 | 在线观看中文字幕一区 | 成人亲子乱子伦视频 | 国产欧美另类久久久品 | 久久噜噜久久久精品66 | 在线综合网| 热久久久久 | 亚洲伊人精品综合在合线 | 四虎伊人 | 免费一区二区三区四区 | 久久成人小视频 | 一道精品视频一区二区三区图片 | 一二三四日本高清 | 国产激情小说 | 日本综合欧美一区二区三区 | 欧洲色播 | 激情小说网站 | 成人小视频在线免费观看 | 91精品在线国产 | 成人春色在线观看免费网站 | 色网站在线观看 | 正在播放国产乱子伦视频 | 精品国产福利久久久 | 国产午夜精品久久久久小说 | a加勒比一本东京 | 五月婷婷六月丁香 | 国产人成亚洲第一网站在线播放 | aaaaaa精品视频在线观看 | 国产自产第一区c国产 | 国产xxxxx | 色婷婷一区二区三区四区成人 | 亚洲福利一区福利三区 |