亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP命名空間和自動加載初探

2020-03-22 18:23:07
字體:
來源:轉載
供稿:網友
  • 參考資料:PHP手冊-語言參考:http://php.net/manual/zh/language.namespaces.php概要:1. 聲明了命名空間之后,下面的const, function, html' target='_blank'>class都會劃歸到該命名空間。2. 只有聲明過命名空間的PHP 文件才能加載有命名空間的PHP文件。3. PHP 5.3 及以上才能使用命名空間名詞: 關鍵字:namespace 用來聲明 本PHP文件的命名空間 常量:__NAMESPACE__ 用來返回當前命名空間的名稱 默認為空字符串
    操作符: use 默認以最后一個/后的字符串為別名,配合 as 則為 as后的字符串,與MySQL的字段別名一致。實際操作如下:在apache目錄下建立如下文件:index.php,Order.php,User.phpOrder.php 的內容為
     1 <?php 2 /** 3  * @Author: Martin 4  * @Support: Martin 5  * @Last Modified by:   Martin 6  */ 7 namespace Order; 8  9 const STR = 'order list<br />';10 11 function detail()12 {13     return 'order detail<br />';14 }15 function call_by_self()16 {17     return 'call by self<br />';18 }19 /**20  *21  */22 class Orderlist23 {24 25     public function __construct()26     {27         echo 'Class NameSpace is "', __NAMESPACE__, '"';28     }29     public function show_list()30     {31         for ($i = 0; $i < 5; $i++) {32             echo "<ul><li>this is order$i<br />";33             //內部直接訪問34             echo detail();35             echo "</li></ul>";36         }37     }38 }39 //內部通過命名空間訪問40 echo /Order/call_by_self();

    index.php 內容為:

     1 <?php 2 /** 3  * @Author: Martin 4  * @Support: Martin 5  * @Last Modified by:   Martin 6  */ 7 namespace index; 8 include_once('Order.php'); 9 10 //外部訪問class 實例化即可使用11 use Order/Orderlist;12 $orderlist = new orderlist;13 $orderlist->show_list();14 15 //外部訪問靜態變量和function 直接訪問16 use Order;17 echo Order/STR;18 echo Order/detail();

    打印結果為:

    以上內容包含了:通過命名空間來訪問文件和直接實例化訪問,以及本空間直接訪問。命名空間的存在是為了防止兩個同名的class都被載入,使用命名空間在加載第三方的類時能避免同名沖突。下面來說一下自動加載SZ喎?http://www.it165.net/pro/pkqt/" target="_blank" class="keylink">QTCC1xMirs8bKx6O6U3RhbmRhcmQgUEhQIExpYnJhcnkgUEhQserXvL/io6zU2lBIUDXS1Lrz0tG+rcTa1sPU2lBIUNbQo6zO3tDowe3N4rCy17ChowpTUEyw/LqswcvSu8zX1eu21Mr9vt294bm5oaK1/LT6xvehotLss6Ohos7EvP60psDttci1xLqvyv2/4qGjCiZuYnNwOwo8c3Ryb25nPtfUtq/XsNTYv+LT0NLUz8K6r8r9PC9zdHJvbmc+CjxzdHJvbmc+c3BsX2F1dG9sb2FkX2NhbGw8L3N0cm9uZz6jurOiytS199PDy/nT0NLR16Ky4bXEX19hdXRvbG9hZCgpuq/K/cC017DU2Mfrx/PA4AoKPHA+VXNlci5waHAgxNrI3c6qo7o8L3A+Cgo8cHJlIGNsYXNzPQ=="brush:java;">1 namespace User;2 //直接載入Order3 #include('Order.php');4 //自動載入5 spl_autoload_register(function($className) {6 var_dump($className);7 });8 spl_autoload_call('Order');

    打印結果為:

    SPL自動載入函數包含如下:

    spl_autoload_extensions: 注冊并返回spl_autoload函數使用的默認文件擴展名。
    get_include_path: 設置默認引用的文件夾
    spl_autoload_register: 自動引入文件
    實際操作如下:我們重新調整目錄結構和并復制order 到 lib下面 如下:

    修改User.php 如下:

     1 namespace User; 2  3 //直接載入Order 4 #include('Order.php'); 5 //自動載入 6 define('LIB_DIR', __DIR__ . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR); 7 spl_autoload_register(function ($class) { 8     $path = LIB_DIR . $class . '.lib.php'; 9     include ($path);10 });11 12 spl_autoload_call('Order');13 use Order;14 15 $orderList = new /Order/Orderlist();16 $orderList->show_list();

    打印結果為:

    注意:當采用SPL載入文件時,use并不能觸發spl_autoload_register函數,他會被new觸發,這樣就會提示找不到文件,所有采用spl_autoload_call 來提前觸發自動載入。本文地址:http://www.cnblogs.com/martin-tan/p/4864539.html問題:使用get_include_path,spl_autoload_extensions并且spl_autoload_register默認為空的情況下并不能直接載入目錄下的文件,原因如上。(?)PHP編程

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    日韩精品中文在线观看| 曰本色欧美视频在线| 国产成人精品一区二区三区| 国产aaa精品| 成人www视频在线观看| 久久99久久久久久久噜噜| 亚洲欧美国产视频| 亚洲人成网7777777国产| 中文字幕在线看视频国产欧美| 国模视频一区二区| 亚洲国产私拍精品国模在线观看| 亚洲综合精品一区二区| 亚洲精品wwww| 国产精品福利在线观看网址| 第一福利永久视频精品| 欧美超级免费视 在线| 亚洲精品永久免费精品| 亚洲欧美成人精品| 国产成人小视频在线观看| 亚洲欧美在线免费观看| 免费97视频在线精品国自产拍| 福利微拍一区二区| 国产精品久久久久久久久久东京| 中文字幕亚洲一区二区三区| 亚洲一区二区三区xxx视频| 久久久成人av| 亚洲欧洲成视频免费观看| 国产福利视频一区| 国产日韩欧美自拍| 在线观看国产成人av片| 国产成人福利夜色影视| 日韩欧美国产网站| 91精品国产高清久久久久久久久| 欧美激情视频在线| 久久99热这里只有精品国产| 日韩电影网在线| 亚洲精品小视频| 国产美女久久精品香蕉69| 自拍偷拍免费精品| 亚洲国产精品系列| 亚洲白拍色综合图区| 在线观看不卡av| 亚洲区一区二区| 国产va免费精品高清在线观看| 免费99精品国产自在在线| 成人欧美一区二区三区黑人孕妇| 一区二区三区天堂av| 日韩精品在线电影| 一本色道久久综合狠狠躁篇的优点| 理论片在线不卡免费观看| 亚洲人成啪啪网站| 成人国内精品久久久久一区| 久久精品视频一| 亚洲男女自偷自拍图片另类| 欧美精品一区三区| 国产97色在线| 茄子视频成人在线| 国产999在线观看| 91香蕉嫩草影院入口| 国产精品视频中文字幕91| 欧美日韩国产综合视频在线观看中文| 欧美尤物巨大精品爽| 亚洲丝袜在线视频| 国产精品va在线| 456国产精品| 91情侣偷在线精品国产| 国产成人精品免费久久久久| 亚洲一区国产精品| 久久午夜a级毛片| 日韩美女在线看| 91沈先生作品| 欧美大片免费观看在线观看网站推荐| 亚洲国产第一页| 日韩一区av在线| 91日本在线视频| 久久精品久久久久电影| 欧美大尺度在线观看| 久久久国产视频| 疯狂做受xxxx高潮欧美日本| 亚洲最大av网站| 亚洲精品99999| 国产主播精品在线| 成人精品视频99在线观看免费| 亚洲国产精品久久久久秋霞蜜臀| 国产成人免费av| 欧美精品一区在线播放| 中文字幕久热精品在线视频| 国产性猛交xxxx免费看久久| 91wwwcom在线观看| 亚洲国产精品字幕| 久久精品国产亚洲7777| 热久久这里只有| 欧美中文字幕在线视频| 尤物99国产成人精品视频| 久久久免费在线观看| 91国产精品电影| 亚洲国产日韩一区| 午夜精品一区二区三区视频免费看| 中文一区二区视频| 日本一区二区三区在线播放| 成人在线中文字幕| 97精品视频在线播放| 成人免费网站在线看| 国产精品黄页免费高清在线观看| 激情av一区二区| 国产精品中文字幕在线观看| 国产精品视频免费在线| 欧美第一页在线| 91日韩在线播放| 成人欧美在线观看| 永久555www成人免费| 国产一区二区色| 一本色道久久88综合日韩精品| 欧美性在线视频| 日本午夜人人精品| 亚洲自拍av在线| 国产视频欧美视频| 国产日本欧美一区二区三区| 欧美资源在线观看| 国产亚洲成精品久久| 欧美亚洲一区在线| 日产日韩在线亚洲欧美| 久久久成人精品视频| 成人午夜激情免费视频| 精品视频在线观看日韩| 91亚洲精华国产精华| 亚洲第一网站免费视频| 久久在线观看视频| 免费不卡欧美自拍视频| 亚洲欧洲日本专区| 国产视频久久久久久久| 亚洲二区在线播放视频| 中文字幕在线日韩| 北条麻妃一区二区三区中文字幕| 91午夜理伦私人影院| 国产精品久久久久91| 在线免费观看羞羞视频一区二区| 亚洲欧洲在线视频| 久久国产精品影视| 国产精品视频白浆免费视频| 国产日韩在线看片| 欧美日韩免费看| 欧美激情成人在线视频| 久久久噜久噜久久综合| 欧美wwwxxxx| 欧美在线播放视频| 日韩成人在线播放| 久久中文久久字幕| 国产色婷婷国产综合在线理论片a| 精品视频在线播放免| 欧美性猛交xxxx免费看漫画| 一区二区三区视频在线| 国产一区二区日韩精品欧美精品| 69视频在线免费观看| 国产日韩欧美中文| 亚洲国产欧美一区二区三区同亚洲| 久久久精品久久久久| 亚洲成人网久久久| 主播福利视频一区| 91成人福利在线| 久久亚洲精品小早川怜子66| 国产日韩欧美在线| 亚洲欧洲第一视频| 久久视频国产精品免费视频在线|